电工电子实验中心
实验 告
课程名称:计算机硬件技术基础
实验名称: 四则运算
姓名: 葛华森 学 : 031410425
评定成绩: 审阅教师:
实验时间:2017.05.02
南京航空航天大学
实验目的要求
熟悉汇编语言程序的框架结构,掌握顺序结构的编程方法。
熟悉Tddebug调试环境和Turbo Debugger的使用。
理解X86内存数据的组织方式。
理解基本的内存寻址方式。
实验任务
本实验要求完成32位无符 的加法、减法,16位乘以16位,32位除以16位的四则运算练习。
实验代码(写出自己补全的代码,包含适当注释)
DATA SEGMENT
A DW 1234H,5678H ;被加数
B DW 0FEDCH,123AH ;加数
C DW 2 DUP(;预留和
AD DW 0FEDCH,0BA98H ;被减数
BD DW 1234H,789AH ;减数
CD DW 2 DUP(;预留差
A1 DW 0D678H ;被乘数
B1 DW 0012H ;乘数
C1 DW 2 DUP(;预留积
A2 DW 5678H,0234H ;被除数
B2 DW 0F234H ;除数
C2 DW 2 DUP(;预留商,余数
DATA ENDS
STACK1 SEGMENT STACK
DW 100 DUP(
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX ;标准序
MOV AX,A
ADD AX,B
MOV C,AX
MOV AX,A+2
ADC AX,B+2
MOV C+2,AX ;32位加32位
MOV AX,AD
SUB AX,BD
MOV CD,AX
MOV AX,AD+2
SBB AX,BD+2
MOV CD+2,AX ;32位减32位
MOV AX,A1
MUL B1
MOV C1,AX
MOV C1+2,DX ;16位乘以16位
MOV AX,A2
MOV DX,A2+2
DIV B2
MOV C2,AX
MOV C2+2,DX ;32位除以16位
RET
START ENDP
CODE ENDS
END START
实验的运行数据及分析
实验数据记录
DS:0000
34H
12H
78H
56H
0DCH
0FEH
3AH
12H
DS:0008
10H
11H
0B3H
68H
0DCH
0FEH
98H
0BAH
DS:0010
34H
12H
9AH
78H
0A8H
0ECH
0FEH
41H
DS:0018
78H
0D6H
12H
00H
70H
14H
0FH
00H
DS:0020
78H
56H
34H
02H
34H
0F2H
54H
02H
DS:0028
68H
75H
数据分析:
被加,加数123AFEDCH,和68B31110H
被减数BA98FEDCH,减数789A1234H,差41FEECA8H
被乘数D678H,乘数0012H,积000F1470H
被除,除数0F234H,商0254H,余数7568H
实验讨论及心得体会
第一次使用emu8086,所以不太会操作,好在四则运算较为简单,通过加减乘除运算熟悉了该软件的使用,同时掌握了顺序结构的编写方法,理解了基本的内存寻址方式。
相关资源:GLONASS卫星位置计算与程序实现_葛奎_glonass_卫星位置__matlab…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!