代码最好简单,我正在学习,最好说明白原理
------解决方案--------------------------------------------------------
你先是说乘法,又说输出到屏幕,我不明白你到要做什么。如果说是用十进制在屏幕上显示一个二进制数,以下的代码是合用的:
;以下计算AX中的每个数位
mov bx,10
xor cx,cx
@d:
inc cx
xor dx,dx
div bx
or dl,0x30
push dx
cmp ax,0
jne @d
;以下显示各个数位
@a:
pop dx
mov [es:di],dl
inc di
mov byte [es:di],0x07
inc di
loop @a
------解决方案--------------------------------------------------------
自己刚写的十六进制转十进制输出……菜菜,写的不好见谅
- Assembly code
stack segment db 10h dup(0) stack endscode segment assume cs:code, ss:stack start: mov ax, stack mov ss, ax mov sp, 10h mov ax, 42fh call htod mov ax, 4c00h int 21h htod proc xor cx, cx mov cl, 4 mov si, 0ahs: xor dx, dx div si inc ch add dx, 30h push dx cmp ax, 0 jne s l: pop ax mov dl, al mov ah, 2 int 21h dec ch jne l ret htod endpcode endsend start