汇编输出0-255ascii码(VGA下)
2010-11-06 12:10
225 查看
源代码:
data segment
a db 00h
x db "000"
y db "000 ",0Dh, 0Ah, "$"
data ends
code segment
assume cs:code, ds:data
main:
mov ax, data
mov ds, ax
mov ax, 0B800h
mov es, ax
xor di, di
mov ax , 0003h
int 10h
mov al, 0h
mov [a], al
cld
again:
call change
call change1
mov ah, 04h
mov al, x[0]
stosw
mov ah, 02h
mov al, x[1]
stosw
mov al, x[2]
stosw
mov ah, 07h
mov al, y[0]
stosw
mov al, y[1]
stosw
mov al, y[2]
stosw
mov al, y[3]
stosw
call next
mov cl, [a]
inc cl
mov [a], cl
cmp cl, 0h
jne again
jmp over
over:
mov dh, 24
mov dl, 79
mov ah, 2
int 10h
mov ah, 0
int 16h
mov ah, 4Ch
int 21h
next:
cmp di, 3840
ja next1
add di, 146
jmp done
next1:
sub di, 3840
change:
mov al, [a]
mov x[0], al
mov cl, 4
shr al, cl
mov ah, al
call hex
mov x[1], al
mov al, [a]
and al, 0Fh
call hex
mov x[2], al
mov al, [a]
ret
hex:
cmp al, 10
jb add0
sub al, 10
add al, 'A'
jmp done
add0:
add al, '0'
done:
ret
change1:
mov al, [a]
mov ah, 0
mov bl, 100
div bl
add al, 30h
mov y[0], al
mov al, ah
mov ah, 0
mov bl, 10
div bl
add al, 30h
mov y[1], al
add ah, 30h
mov y[2], ah
ret
code ends
end main
个人汇编语言基础学习总结:
学习汇编就像学习用新的材料创造建筑,汇编不像C,C++一类语言已经建立完整的模型函数库,汇编语言就像沙子,给你无尽的内存地址,就看你在这些地址上放些什么以及如何摆放。其实任何一个程序员都应该对汇编的基础语言学习了解,否则他永远不知道原来计算机的内存是可以这么“玩”的
相关文章推荐
- 经典汇编语言教程:第8章 输入输出和中断
- 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出
- 汇编-将输入的字符串逆序输出
- 学 Win32 汇编[4]: 使用 Debug 输出测试结果
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 汇编一日一学(11)--输出十进制
- 操作系统汇编语言实现彩色输出斐波拉契数列
- (练手备忘)汇编实现将输入的字符串中的空格去掉后反序输出
- 汇编--子程序调用之输出回车
- 汇编源码学习14-子函数模块-输出双字节整数
- 从键盘输入字符串并输出该字符串(汇编程序—I/O
- 汇编语言学习记录--输入输出字符串
- 汇编语言学习笔记-按指定的字体输出文本
- 汇编语言-输出HelloWorld
- 文章标题 汇编 :输出12345(16位的)
- 从键盘输入字符串并输出该字符串(汇编语言)
- 「C语言」「汇编」C输出hello world!系统发生了什么?
- 学 Win32 汇编[3]: 控制台下的几种输入、输出方式
- 【static&extern】用GCC输出带源代码的汇编程序进行链接的调试
- 汇编输出十进制数