实验3 编程、编译、连接、跟踪
<1>将下面的程序保存为tt1.asm文件,将其生成可执行文件tt1.exe。
C:\MASMPR~1>edit
File Edit Search View Options Help
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0h
add sp,10h
pop ax
pop bx
push ax
push bx...
[2010-10-15 15:20] 实验3 编程、编译、连接、跟踪
阅读全文 |
评论次数(0) |
浏览次数(459) |
所属类型(汇编作业)
[2010-10-14 11:41] 第四章 第一个程序
4.1 一个源程序从写出到执行的过程
文本编辑=>源程序文件=>编译连接=>可执行文件=>执行
4.2 源程序
源程序是由一些程序段构成的。包含:伪指令、程序段(汇编指令、数据)、标号、程序结构、程序返回。
1.伪指令
伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。
(1)XXX segment...XXX ends
segment和ends是一对在对使用的伪指令,这是在写可被编译器的汇编程序时,必须要用到的一对伪指令。功能是定义一个段,segment说明一个段开始,ends说...
文本编辑=>源程序文件=>编译连接=>可执行文件=>执行
4.2 源程序
源程序是由一些程序段构成的。包含:伪指令、程序段(汇编指令、数据)、标号、程序结构、程序返回。
1.伪指令
伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。
(1)XXX segment...XXX ends
segment和ends是一对在对使用的伪指令,这是在写可被编译器的汇编程序时,必须要用到的一对伪指令。功能是定义一个段,segment说明一个段开始,ends说...
阅读全文 |
评论次数(0) |
浏览次数(422) |
所属类型(汇编作业)
[2010-09-30 14:36] 检测点3.2
(1)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。
mov ax,1000
mov ds,ax
mov ax,2000
mov ss,ax
mov sp,10
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。
mov ax,2000
mov ds,ax
mov ax,1000
mov ...
mov ax,1000
mov ds,ax
mov ax,2000
mov ss,ax
mov sp,10
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。
mov ax,2000
mov ds,ax
mov ax,1000
mov ...
阅读全文 |
评论次数(0) |
浏览次数(375) |
所属类型(汇编作业)
[2010-09-28 16:40] 检测点3.1
(1)在debug中,用“d 0:01f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 88
下面的程序执行前,AX=0,BX=0,写出每条指令执行完后相关寄存器中的值。
MOV AX,1
MOV DS,AX
MOV AX,[0000] AX=2662
MOV BX,[0001] BX=E626
MOV AX,BX AX=E626
MOV AX,[00...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 88
下面的程序执行前,AX=0,BX=0,写出每条指令执行完后相关寄存器中的值。
MOV AX,1
MOV DS,AX
MOV AX,[0000] AX=2662
MOV BX,[0001] BX=E626
MOV AX,BX AX=E626
MOV AX,[00...
阅读全文 |
评论次数(2) |
浏览次数(534) |
所属类型(汇编作业)
[2010-09-28 16:38] 第三章 寄存器(内存访问)
3.1 内存中字的存储
字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
3.2 DS和[address]
DS指的是段寄存器,[]表示内存单元,address表示内存单元的偏移地址。
给段寄存器传送数据必须使用通用寄存器来传送
例:MOV AX,1000H
MOV DS,AX
MOV BL,[0] 把1000:0处的数据送到BL
MOV [0],AH 把AH中的数据送到1000:0处
3.3 字...
字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
3.2 DS和[address]
DS指的是段寄存器,[]表示内存单元,address表示内存单元的偏移地址。
给段寄存器传送数据必须使用通用寄存器来传送
例:MOV AX,1000H
MOV DS,AX
MOV BL,[0] 把1000:0处的数据送到BL
MOV [0],AH 把AH中的数据送到1000:0处
3.3 字...
阅读全文 |
评论次数(0) |
浏览次数(412) |
所属类型(汇编作业)
[2010-09-21 15:31] 检测点2.3
检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
分析:启动debug
-A
0AE6:0100 MOV AX,BX
0AE6:0102 SUB AX,AX
0AE6:0104 JMP AX
0AE6:0106 ^C
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=000 SI=0000 DI=0000
DS=0AE6 ES=0AE6 SS=0AE6 CS=0AE6 IP=0100 NV UP EI PL NZ PO ...
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
分析:启动debug
-A
0AE6:0100 MOV AX,BX
0AE6:0102 SUB AX,AX
0AE6:0104 JMP AX
0AE6:0106 ^C
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=000 SI=0000 DI=0000
DS=0AE6 ES=0AE6 SS=0AE6 CS=0AE6 IP=0100 NV UP EI PL NZ PO ...
阅读全文 |
评论次数(0) |
浏览次数(373) |
所属类型(汇编作业)
[2010-09-21 14:16] 检测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 ____ 到 _____。
分析:8086CPU的寻址范围为64K,及0~FFFFH,根据公式:物理地址=SA×16+EA,可以得出题中的起始地址为:
物理地址=1H×16+(EA=0000H)
=>物理地址=1H×10H+0H=10H
最大物理地址=1H×16+(EA=FFFFH)
=>物理地址=1H×10H+FFFFH=1000FH
=>寻地址范围为:10H~1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,...
分析:8086CPU的寻址范围为64K,及0~FFFFH,根据公式:物理地址=SA×16+EA,可以得出题中的起始地址为:
物理地址=1H×16+(EA=0000H)
=>物理地址=1H×10H+0H=10H
最大物理地址=1H×16+(EA=FFFFH)
=>物理地址=1H×10H+FFFFH=1000FH
=>寻地址范围为:10H~1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,...
阅读全文 |
评论次数(0) |
浏览次数(480) |
所属类型(汇编作业)
[2010-09-17 16:51] 第二章 寄存器
第2章 寄存器
1、什么是寄存器?
寄存器是CPU中程序员可以用指令读写的部件。
通用寄存器:AX BX CX DX
2、寄存器分类:(8位寄存器组,16位寄存器组,32位寄存器组)
8位寄存器组
数据寄存器有8个 分别是AH, AL, BH,BL ,CH,CL, DH,DL
掌握技巧:记住 A B C D 分别 加上 H,L 在后面即可
8位寄存器在CPU中能存放一个字节长的数值
16位寄存器组
16位寄存器有 4个数据寄存器分别为 AX ,BX, CX, DX
掌握技巧:记住 A B ...
1、什么是寄存器?
寄存器是CPU中程序员可以用指令读写的部件。
通用寄存器:AX BX CX DX
2、寄存器分类:(8位寄存器组,16位寄存器组,32位寄存器组)
8位寄存器组
数据寄存器有8个 分别是AH, AL, BH,BL ,CH,CL, DH,DL
掌握技巧:记住 A B C D 分别 加上 H,L 在后面即可
8位寄存器在CPU中能存放一个字节长的数值
16位寄存器组
16位寄存器有 4个数据寄存器分别为 AX ,BX, CX, DX
掌握技巧:记住 A B ...
阅读全文 |
评论次数(0) |
浏览次数(469) |
所属类型(汇编作业)
[2010-09-17 16:48] 检测点2.1
(1)写出每条汇编指令执行后相关寄存器中的值。
MOV AX,62627 AX=F4A3
MOV AH,31H AX=31A3
MOV AL,23H AX=3123
ADD AX,AX AX=6246
MOV BX,826CH BX=826C
MOV CX,AX CX=6246
MOV AX,BX AX=826C
ADD AX,BX AX=04D8
MOV AL,BH AX=0482
MOV AH,BL AX=6C82
ADD AH,AH AX=D882
ADD AL,6 AX=D888 ...
MOV AX,62627 AX=F4A3
MOV AH,31H AX=31A3
MOV AL,23H AX=3123
ADD AX,AX AX=6246
MOV BX,826CH BX=826C
MOV CX,AX CX=6246
MOV AX,BX AX=826C
ADD AX,BX AX=04D8
MOV AL,BH AX=0482
MOV AH,BL AX=6C82
ADD AH,AH AX=D882
ADD AL,6 AX=D888 ...
阅读全文 |
评论次数(0) |
浏览次数(398) |
所属类型(汇编作业)
[2010-09-15 16:39] 第一章 基础知识
1.1 机器语言
机器语言是机器指令的集合。
1.2 汇编语言的产生
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的方式上。汇编指令是机器指令便于记忆的书写格式。
1.3 汇编语言的组成
分3类指令组成:
(1)汇编指令:机器码的助记符,有对应的机器码。
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
(3)其它符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
1.4 存储器
指令和数据在内存中存放,指令和数据不读入内存,就无法被CPU使用。
1.5 指令和数据
...
机器语言是机器指令的集合。
1.2 汇编语言的产生
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的方式上。汇编指令是机器指令便于记忆的书写格式。
1.3 汇编语言的组成
分3类指令组成:
(1)汇编指令:机器码的助记符,有对应的机器码。
(2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
(3)其它符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
1.4 存储器
指令和数据在内存中存放,指令和数据不读入内存,就无法被CPU使用。
1.5 指令和数据
...
阅读全文 |
评论次数(0) |
浏览次数(852) |
所属类型(汇编作业)
『 查看更多文章 』