当前位置:文档之家› 微机原理实验四 汇编语言程序设计与调试

微机原理实验四 汇编语言程序设计与调试

实验四 1
一.实验目的:
1.伪指令、宏指令的使用
2.汇编语言程序设计与调试
3.CodeView编译调试工具软件的使用
二.实验内容
1.(重做,用宏定义表格,不用xlat指令,)定义一数据段data,从10H开始存放y 函数值表,table为首指针( Y=X2-2X+3 ;X=3,4,5,6,7,8,9,10)。

编一程序根据X值查table表,把对应Y值存入Y变量中。

mm macro
data segment
ORG 10
table db 6,11,18,27,38,51,66,83
x db 5
y db ?
data ends
ENDM
code segment
assume cs:code,ds:data
start: MM
mov ax,data
mov ds,ax
lea bx,table
mov ah,0
mov al,x
sub al,3
add bx,ax
mov al,[bx]
mov y,al
mov ah,4ch
int 21h
code ends
end start
2.字节变量BCDC中定义了10个字节的压缩BCD码(20十进制数),编一程序按顺序把它们转换成字符(ASC码),存入ASCC开始的字节数据区。

data segment
org 10H
BCDC db 61H,11H,18H,27H,38H,51H,66H,83H,44H,55H
ASCC db 20 DUP(?)
data ends
code segment
assume cs:code ,ds:data
start: mov AX,data
mov ds,AX
mov si,offset BCDC
MOV DI,OFFSET ASCC
MOV AX,0
mov cx,10
LOOP1:MOV AL,[si]
MOV AH,[si]
AND AL,0FH
MOV CL,4
SHR AH,CL
ADD AH,30H
mov [DI],AH
INC DI
ADD AL,30H
mov [DI],AL
INC si
INC DI
dec cx
jnz LOOP1
mov AH,4CH
INT 21H
code ends
end
start
3.字符串STR1(如‘Is a ADSL device.’),串长(字节数)存放在字变量LEN中,
编程把STR1串中小写字母都转换成大写字母而其它字符不变。

data segment
org 10H
STR1 DB 'Is a ADSL device.'
LEN DB 19
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: mov ax,data
MOV DS,AX
MOV CX,19
MOV SI,OFFSET STR1
MOV AX,0
LOOP1: MOV AX,[SI]
CMP AX,'a'
JB LOOP2
SUB AX,20H
LOOP2: MOV [SI],AX
INC SI
DEC CX
JNZ LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START
三.实验步骤
1.选用合适的程序文本编辑软件编辑源程序,并为文件取以.ASM为扩展名的文件存盘。

2.用宏汇编软件MASM对源程序文件进行汇编,若有错误,根据提示(行号,错误类型)回源程序文件中修改。

3.用LINK对由MASM汇编后产生的目标文件做连接,生成可执行文件;若有错误(同上)回步骤1修改源程序文件。

4.用CV调试程序,检察运行结果,并调试程序。

5.用不同数据反复验正程序的正确性。

6.综合实验结果,得出结论或感受。

相关主题