📄 homw1.asm
字号:
;This program for: display date and time
;*******************************************
stack segment stack 'stack'
db 1024 dup (0)
stack ends
;
data segment
bword equ this byte
r0 dw (?)
r1 dw (?)
r2 dw (?)
r3 dw (?)
r4 dw (?)
r5 dw (?)
r6 dw (?)
r7 dw (?)
;------------------------------------------
temp0 dw (?)
temp1 dw (?)
temp2 dw (?)
temp3 dw (?)
temp4 dw (?)
k dw (?)
data ends
;********************************************
program segment
main proc far
assume cs:program,ds:data,ss:stack
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov ax,k
mov r2,ax
mov r3,0
mov ax,r0
mov r7,ax
mov ax,r1
mov r6,ax
mov ax,k
mov r2,ax
mov r3,0
call nbmul
mov ax,r4
mov r0,ax
mov ax,r5
mov r1,ax
mov ax,temp1
mov r2,ax
mov ax,temp0
mov r3,ax
call ndwadd
mov ax,r4
mov temp3,ax
mov ax,r5
mov temp2,ax
ret
main endp
;--------------------------------------
nbmul proc near
mov ax,r3
mul r7
xchg ax,r7
mov r5,dx
mul r2
add ax,r5
mov r4,ax
mov ax,0
adc ax,dx
mov r5,ax
mov ax,r6
mul r3
add ax,r4
xchg ax,r6
adc r5,dx
pushf
mul r2
add r5,ax
mov ax,0
adc dx,ax
popf
adc dx,ax
mov r4,dx
ret
nbmul endp
;--------------------------------------
ndwadd proc near
mov ax,r1
add ax,r3
mov r5,ax
mov ax,r0
adc ax,r2
mov r4,ax
ret
ndwadd endp
;---------------------------------------
program ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -