帮忙解决显示问题
汇编吧
全部回复
仅看楼主
level 11
lshhjx 楼主
如何用汇编将3753000这个数字显示在MASM的黑框框上 我用的是下面的方法 但它就是不显示 不知道哪里错了 请大家指点一下 感激不尽
assume cs:code,ds:data
data segment
dd 3753000
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov di,0
mov bx,0
mov ax,ds:
mov dx,ds:
mov es:[di],ax
mov es:[di+2],dx mov ax,4c00h
int 21h
code ends
end start
2013年03月18日 11点03分 1
level 12
将机器数据以二进制、或者十进制、或者十六进制数显示时,你还得按照编码规则进行解析和转换成数字符号的ASCII码才能送DOS中断输出程序去输出。
在机器中:
dd 3753000 和
db '3753000'
它们在机器中的编码不一回事,如果前者要以十进制输出,得转换成后者的形态才行。
2013年03月18日 13点03分 3
level 11
lshhjx 楼主
君之所言,尤如拨云见日,令在下茅塞顿开。多谢,多谢!
2013年03月18日 16点03分 4
level 6
assume cs:code,ds:data
data segment
db '3753000'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov di,160*12
+3
5*2
mov si,0
mov cx,7
s:mov ah,02h
mov al,[si]
mov es:[di],al
mov es:[di+1],ah
inc si
add di,2
loop s
mov ax,4c00h
int 21h
code ends
end start
2013年03月19日 03点03分 5
level 11
lshhjx 楼主
已经解决了。不过还是很感谢你的回复,辛苦了!
2013年03月19日 04点03分 6
[狂哭]
2013年03月19日 04点03分
1