汇编语言实验参考:用汇编语言实现从1到50的自然数之和
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用汇编语言实现从1到50的自然数之和,将结果转换成十进制形式输出
.model small
.stack 100h
.code
main proc
xor ax, ax
mov cx, 50
@@1:
add ax, cx
loop @@1
call print
mov ax, 4c00h
int 21h
main end p;
;
print proc near
push bx
push dx
mov bx, 10
xor dx, dx
or ax, ax
JZ print_0
div bx
call print
add dl, '0'
push ax
mov ah, 2
int 21h
pop ax
print_0:
pop dx
pop bx
ret
print end p
;
end main
汇编语言如何将数值以十进制的形式输出到屏幕上
设置一字符串sBuf长度为14满足最大长度就OK
看你的数值长度,如果2字节的,即0~65535的值,可以用以下代码。
要转换的放到AX里,字符串尾放SI里MOV AX,VAL
XOR DX,DX
MOV BX,10
AGAIN: DIV BX
ADD AL,30H
MOV [SI],AL
DEC SI
XOR AX,AX
CMP DX,0
JNZ AGAIN:
之后把SI所指向的字符串输出就OK了。