(1) 将课程中所有讲解过的程序上机调试,用Debug跟踪其执行过程,并在过程中进一步理解所讲内容。
这个。。。。我就在我自己电脑上调试了 。。。。就不帖出来了。。
(2)编程,完成问题7.9中的程序。
问题7.9
编程,将datasg 段中每个单词的前4个字母改为大写。
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
satcksg ends
datasg segment
db '1. display '
...
- [chinatree] 赞一个。 11/25 05:20
- [jingyarufeng] 嘿嘿 就是看了这个帖子。。。。 11/22 14:54
- [tomato] http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&lev 11/21 19:11
- [jingyarufeng] 2的4次方就是 2*2*2*2 先把AX初始为2 然后 ADD AX,AX 就是 2+2=4 相当 10/07 11:52
- [tily] 赞一下博主 很有耐心啊 10/06 23:00
- [zxczxc] 第二小题是怎么解出来的? 10/06 21:28
[2011-11-24 21:58] 实验6 实践课程中的程序
阅读全文 |
评论次数(1) |
浏览次数(559) |
所属类型(汇编作业)
[2011-11-21 15:51] 实验5 编写、调试具有多个段的程序
这一章的内容较少,有些知识需要在实践中掌握。这个实验,即是实验,也是学习内容。必须完成这个实验,才能继续向下学习。
(1)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题。
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,...
(1)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题。
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,...
阅读全文 |
评论次数(2) |
浏览次数(657) |
所属类型(汇编作业)
[2011-11-10 22:58] 检测点 6.1
(1)下面的程序实现依次用内存0:0~0:15单元的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
add cs:[bx]
add bx,2
loop s
mov ax,...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
add cs:[bx]
add bx,2
loop s
mov ax,...
阅读全文 |
评论次数(0) |
浏览次数(438) |
所属类型(汇编作业)
[2011-10-19 12:18] 实验四
(1)编程,向内存0:200~0:23F依次传送数据 0~63(3FH)。
(2) 编程,向内存0:200~0:23F依次传送数据 0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和“int 21h”。
解:
assume cs:code
code segment
mov ax,0020
mov ds,ax
mov bx,0
mov cx,63
s:mov [bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
c...
(2) 编程,向内存0:200~0:23F依次传送数据 0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和“int 21h”。
解:
assume cs:code
code segment
mov ax,0020
mov ds,ax
mov bx,0
mov cx,63
s:mov [bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
c...
阅读全文 |
评论次数(0) |
浏览次数(441) |
所属类型(汇编作业)
[2011-10-13 13:37] 检测点3.2
1、
mov ax, 2000H
mov ss, ax
mov sp, 0010H
2、
mov ax, 1000H
mov ss, ax
mov sp, 0000H...
mov ax, 2000H
mov ss, ax
mov sp, 0010H
2、
mov ax, 1000H
mov ss, ax
mov sp, 0000H...
阅读全文 |
评论次数(0) |
浏览次数(462) |
所属类型(汇编作业)
[2011-10-13 12:43] 检测点3.1
(1)在Debug中,用"d 0:0 1f" 查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 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 = (E6...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 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 = (E6...
阅读全文 |
评论次数(0) |
浏览次数(609) |
所属类型(汇编作业)
[2011-10-07 13:21] 检测点 2.2
注意 段地址 *16 ( 10H ) 算的时候不要拿段地址的值乘以16 那你就傻了 因为人家给的一般是16进制的数据 应该乘以10H ,最好的办法 就是 我们直接向右或向左移动一位。
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010)到(1000F)。
解:偏移地址为16位,变化范围为0~FFFFH,用段地址*16+(最小偏移地址0)最大偏移地址FFFFH。便可以求出上述答案。
(2)有一数据存放在内存 20000H单元中,现在给定段地址为SA,若想用偏移地址寻找到此单元。则 SA 应该满足的条件是:最小为(1001H),最大为(200...
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010)到(1000F)。
解:偏移地址为16位,变化范围为0~FFFFH,用段地址*16+(最小偏移地址0)最大偏移地址FFFFH。便可以求出上述答案。
(2)有一数据存放在内存 20000H单元中,现在给定段地址为SA,若想用偏移地址寻找到此单元。则 SA 应该满足的条件是:最小为(1001H),最大为(200...
阅读全文 |
评论次数(0) |
浏览次数(497) |
所属类型(汇编作业)
[2011-10-06 19:08] 检测点 2.1
(1)写出每条汇编指令执行后相关寄存器中的值。
mov ax, 62627 AX = F4A3H
解:把62627 转换为十六进制
mov ah, 31H AX = 31A3H
解:把31H送入AH中,AH里的值将被覆盖,变为31H,AL的值保持不变,为A3H
mov al, 23H AX = 3123H
解:把23H送入AL中,AL里的值被覆盖,变为23H,AH的值不变 为31H
add ax, ax AX = 6246H
解: add ax, ax 的意思是将ax中的数相加,和放在ax中 为 3123H + 3123H = 6246H
...
mov ax, 62627 AX = F4A3H
解:把62627 转换为十六进制
mov ah, 31H AX = 31A3H
解:把31H送入AH中,AH里的值将被覆盖,变为31H,AL的值保持不变,为A3H
mov al, 23H AX = 3123H
解:把23H送入AL中,AL里的值被覆盖,变为23H,AH的值不变 为31H
add ax, ax AX = 6246H
解: add ax, ax 的意思是将ax中的数相加,和放在ax中 为 3123H + 3123H = 6246H
...
阅读全文 |
评论次数(3) |
浏览次数(601) |
所属类型(汇编作业)
[2011-10-05 21:48] 悲剧!
打字好慢 再加上做题 搞了半天 !...
阅读全文 |
评论次数(0) |
浏览次数(487) |
所属类型(默认类型)
[2011-10-05 21:39] 检测点1.1
(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为(13)。
解: 解:首先 我们来看 2^13=8192 所以13根地址总线能表示8192个不同的数据(一个数据要对应一个存储单元吧,所以我们最多可以访问8192个存储单元)。然后,在计算机中,为方便起见,在讨论存储容量时,以2^10=1024 为基本单位,称为1K。 8KB也就是8个1024=8192个存储单元 所以 地址总线的宽度为13。
在本书的1。6里第三段也有说到 微机存储器的容量是以字节为最小单位来计算的。对于拥有128个存储单元的存储器,我们可以说,它的容量是128个字节。 1。8 第四段里说 一...
解: 解:首先 我们来看 2^13=8192 所以13根地址总线能表示8192个不同的数据(一个数据要对应一个存储单元吧,所以我们最多可以访问8192个存储单元)。然后,在计算机中,为方便起见,在讨论存储容量时,以2^10=1024 为基本单位,称为1K。 8KB也就是8个1024=8192个存储单元 所以 地址总线的宽度为13。
在本书的1。6里第三段也有说到 微机存储器的容量是以字节为最小单位来计算的。对于拥有128个存储单元的存储器,我们可以说,它的容量是128个字节。 1。8 第四段里说 一...
阅读全文 |
评论次数(0) |
浏览次数(501) |
所属类型(汇编作业)