如何实现任意数输出?求助
例如:....
a db 132
b db 9
cdb 100
....
用一个通用的汇编算法解决输出 问题问的太模糊 assume ds:data,cs:code
data segment
a db '132',10,'$' ;这里的10是换行符
b db '9',10,'$'
d db '100','$'
data ends
code segment
start:mov ax,data
mov ds,ax
mov dx,offset a ;用int21的9号中断历程显示字符串'132','$'为结束位置
mov ah,9
int 21h
mov dx,offset b ;用int21的9号中断历程显示字符串'9','$'为结束位置
mov ah,9
int 21h
mov dx,offset d ;用int21的9号中断历程显示字符串'100','$'为结束位置
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end start
;这里用int21写很方便,想自己往显卡地址写也可以只是比较复杂 57158597@qq.com 发表于 2018-6-21 08:57
assume ds:data,cs:code
data segment
a db '132',10,'$' ;这里的10是换行符
就是在我将内存中的十进制数输出 帝企鹅的日记 发表于 2018-6-27 08:56
就是在我将内存中的十进制数输出
assume ds:data,cs:code
data segment
db 16 dup (0)
data ends
code segment
start:mov ax,132 ;把要显示的内存数据132,丢进ax进行转换成10进制(这里的132编译后会变成16进制的84H在内存中)
mov cx,0
mov bx,10
s1: mov dx,0
div bx
push dx
inc cx
or ax,ax
jne s1
s2: pop dx
add dl,48 ;把10进制数转ASCII码显示
mov ah,2
int 21h
loop s2
mov ax,4c00h
int 21h
code ends
end start
页:
[1]