文档介绍:汇编语言程序段
DATA SEGMENT
;在这一段内定义数据
DATA ENDS
STACK SEGMENT STACK
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
MAIN PROC FAR
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
;用户程序
RETF
MAIN ENDP
CODE ENDS
END MAIN
、D2相加,把和存入D3(不考虑溢出)
┆
D1 DD 12345678H
D2 DD 9ABCDEF0H
D3 DD ?
┆
MOV DX,D1
MOV AX,D1+2
MOV BX,D2
MOV CX,D2+2
ADD AX,CX
ADC DX,BX
MOV D3,AX
MOV D3+2,DX
┆
p1 proc near
jmp begin
table db "0","1","2","3","4","5","6","7"
db "8","9","A","B","C","D","E","F"
begin: push ax
push cx
push dx
mov dx,bx
mov bx,offset table
mov ch,4
rotate: mov cl,4
rol dx,cl
mov al,dl
and al,0fh
xlat
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
pop dx
pop cx
pop ax
int 20h
p1 endp
p1 proc near
jmp begin
begin: push ax
push cx
push dx
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,9
jbe next
add al,7
next: mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
pop dx
pop cx
pop ax
int 20h
p1 endp
p1 proc near
jmp begin
begin: push ax
push cx
push dx
mov cx,16
rotate: rol bx,1
jc one
mov dl,30h
jmp disp
one: mov dl,31h
disp: mov ah,2
int 21h
loo