汇编小程序(可供预览) 下载本文

内容发布更新时间 : 2024/5/1 4:30:45星期一 下面是文章的全部内容请认真阅读。

1. 数据定义伪指令,内存分配示意图

.model small .stack 100h .data

bVarA DB 101B,7,'D',0FH,-1 DB 2*56,'INPUT PLEASE$','?' DB 100 DUP(0)

bVarB DB 1,2,3,4,5,6

bVarC DB '1','2','3','4','5','6'

wVarA DW 011B,-32678,65535,0FH,2,5+7ACH,'AB' wVarB DwwVarA

wVarC DW '1','2','3','4','5','6'

dVarA DD 101B,2D89AH,5,5.0,3F800000R,20E30 dVarB DD dVarA, wVarA

.code

start:movax,@data movds,ax

lea bx,dvarA lea si,dvarB ;lea di,wvarC int 3

mov ah,4ch int 21h end start

2. 已知x=10,y=4,求z=x-y+3

.model small .stack 200h

.data

x dw 10 y dw 4 z dw ? .code

start:movax,@data movds,ax

movax,x sub ax,y add ax,3 movz,ax int 3

mov ah,4ch int 21h end start

3. 输出字符串

.model small .data

strdb 'hello,',0dh,0ah,'I',27h,'m zhang','sa',0dh,0ah,'n.','$' .stack dw 100h .code

start:movax,@data movds,ax

mov dl,str+2 mov ah,2 int 21h

mov dl,str+11 mov ah,2 int 21h

lea dx,str mov ah,9 int 21h

mov ah,4ch

int 21h end start

4. 完整段汇编程序结构

写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的DADD1和附加段E_SEG中的DADD2相加,并把结果存放在D_SEG段中的SUM中。其中DADD1、DADD2和SUM均为双字类型,DADD1赋值为98765,DADD2赋值为-15893。

D_SEG SEGMENT

DADD1 DD 98765 SUM DD ? D_SEG ENDS E_SEG SEGMENT

DADD2 DD -15893 E_SEG ENDS C_SEG SEGMENT

ASSUME CS: C_SEG,DS:D_SEG,ES:E_SEG Start: MOV AX, D_SEG

MOV DS, AX MOV AX, E_SEG MOV ES, AX

MOV AX,WORD PTR DADD1 MOV BX,WORD PTR DADD1+2

ADD AX, WORD PTR ES:DADD2 ADC BX, WORD PTR ES:DADD2+2 MOV WORD PTR SUM, AX MOV WORD PTR SUM+2, BX MOV AH, 4CH INT 21H C_SEG ENDS END Start

5. 完整段汇编程序结构

假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X、Y和Z,试编