1.用主,子程序结构编写一个程序,计算sun = 1!+2!+3!+4!+5!
答案:
; 数据段
data segment
sum dw 0
data ends
;程序段
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
xor ax,ax
xor cx,cx
mov cl,5
xunhuan1:
call fact
add sum,ax
loop xuanhuan1
mov ah,4ch
int 21h;
fact proc
push cx;
xor ax,ax
mov al,1
xunhuan 2:
pop cxmul al,cl
loop xunhuan2
ret
fact endp
code ends
end start
2 .将一个给定的二进制数按位转换成相应的ascII码字符串,送到指定的存储单元并显示,如二进制数1001 0011 转换成字符串‘1001 0011’。要求将转换过程写成子程序,
并且子程序应具有较好的通用性,而且必须能实现对8位和16位二进制数的转换。
答案:
data segment
num8 db 93h
num16 dw 0abcdh
ascbuf db 20 dup (0)
data ends
code segment