CPU与汇编实验五实验报告

删除:

2、进制转换 (1)、流程图

开始 输入16进制数 将ASCII码转换为数字 将数字依次乘以16并求和 将该数字除10取余,直到商为零,并保存余数 将得到的数转换为ASCII码 输出得到的数 结束

(2)、源代码如下:

datas segment num2 db 0,0,0,0 num22 dw 0 tempio db 0 temp dw 0

tab db '0123456789abcdef'

string db 'Input error,please try again:$' datas ends

codes segment

assume ds:datas,cs:codes start: mov ax,datas mov ds,ax again: mov ax,0 lea si,num2 call input mov al,tempio

cmp al,46h ja error sub al,'0' mov ds:[si],al inc si call input mov al,tempio cmp al,46h ja error sub al,'0' mov ds:[si],al inc si call input mov al,tempio cmp al,46h ja error sub al,'0' mov ds:[si],al inc si call input mov al,tempio cmp al,46h

ja error sub al,'0' mov ds:[si],al call newline lea si,num2 mov cx,4 mov dx,0ah l2:

cmp ds:[si],dl jb l21 mov al,ds:[si] sub al,7 mov ds:[si],al l21: inc si loop l2 lea si,num2 mov ah,ds:[si] mov cx,4 shl ah,cl inc si mov bl,ds:[si]

联系客服:779662525#qq.com(#替换为@)