主题:二-十六进制转换,有错误
[em19][em19][em19]
初学汇编,编了个小小的程序,有错误,但我不知道怎样调试,望高手指点。代码如下:
data segment
msg1 db 'er jin zhi shu :1111 0000 1111 0000B'0dh,0ah,'$'
msg2 db 'dui ying shi liu jin zhi shi :'
data ends
code segment
assume ds:data,cs:code
start: mov ax,data
mov ds,ax
lea ax,msg1
mov ds,09h
int 21h
lea ax,msg2
mov ds,09h
int 21h
mov bx 1111000011110000B
mov ch,4
L1: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
JB print
add al,07h
print: mov ah,02h
mov dl,al
int 21h
dec ch
jnz L1
mov ah,4ch
int 21h
code ends
end start
另外提问几点:
1.在masm中编写的程序,编译(生成exe)不能通过时该怎样调试?
2.程序编译不能通过时, 会提示出错信息,但信息上给出的时出错地址,该怎样解决(怎么知道这个地址)?
3.对于上面的程序规范问题望大家指教。
初学汇编,编了个小小的程序,有错误,但我不知道怎样调试,望高手指点。代码如下:
data segment
msg1 db 'er jin zhi shu :1111 0000 1111 0000B'0dh,0ah,'$'
msg2 db 'dui ying shi liu jin zhi shi :'
data ends
code segment
assume ds:data,cs:code
start: mov ax,data
mov ds,ax
lea ax,msg1
mov ds,09h
int 21h
lea ax,msg2
mov ds,09h
int 21h
mov bx 1111000011110000B
mov ch,4
L1: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
JB print
add al,07h
print: mov ah,02h
mov dl,al
int 21h
dec ch
jnz L1
mov ah,4ch
int 21h
code ends
end start
另外提问几点:
1.在masm中编写的程序,编译(生成exe)不能通过时该怎样调试?
2.程序编译不能通过时, 会提示出错信息,但信息上给出的时出错地址,该怎样解决(怎么知道这个地址)?
3.对于上面的程序规范问题望大家指教。