编程,将datasg段中的每个单词的前四个字母改为大写字母
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start: mov ax,stacksg
mov s...
- [游客] 楼上说的32位64位的时候,我想寻址模式也该是不会变的吧,只要变化下寻址公式就行了吧,20位地址总线 07/04 15:12
- [ppt] 好,用Debug验证.是很好的方法. 06/01 22:56
- [游客] 呵呵,共勉! 05/31 08:50
- [lanji83] 这个是自己设的,X取值为一个正整数,即表示段,忘了在题中说明了。假设N=23,根椐公式表示即当X*1 05/30 23:04
- [younggay] 博主这写题目分析的很仔细啊!佩服!支持! 05/30 11:20
- [younggay] 如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为:0≤X*16-N<16,即当16*X- 05/30 11:18
- [tomato] 不错!学习计算机就是要多实践,这样才能发现更多的问题。 05/28 12:40
- [lanji83] 其实还有一点就是不知道程序加载初始化后的IP值是不是都是0000H,如果这个值不是固定的话这个程序就 05/27 23:19
- [lanji83] 主要是觉得书上的太麻烦,要写两次,所以直接把书上这条命令替换掉来得方便。 05/27 11:47
- [mess] 不错,虽然第二题没有按照书上的格式填写,但也是明白了题的用意。答案也算是另辟蹊径啊;) 博主继 05/27 10:39
- [游客] 5.23到6.1长不多1个星期吧。。。。学了7章。。强悍。。。怎么后面都没更新了呢 07/19 13:16
[2008-06-01 22:06] 第七章实验6解题
阅读全文 |
评论次数(1) |
浏览次数(820) |
所属类型(汇编作业)
[2008-05-30 23:16] 终于收到了第二版实体书了
从买书之日起就开始盼,当当网上说寄到深圳的时间为4-5天,今天刚好第五天,还真准时。闻着新书那淡淡的墨香味,不禁一阵感慨,多久没有闻过这种味道了,以前在学校读书的时候开学发了新书后总让人晚上难以入眠。现在又一次抱着努力学习的的心态去去翻书,努力让这次投资变成收获最大的一次投资!
也许是心里作用,对着电脑看电子书总是少了那一种感觉,今天拿着实体书才恍然大悟。少的就是一种踏实感,没有一个实实在在的东西在手里拿着,即使学的东西也感觉像是虚的,总让人觉得说不定一觉醒来以前学的东西就什么都忘记了。...
也许是心里作用,对着电脑看电子书总是少了那一种感觉,今天拿着实体书才恍然大悟。少的就是一种踏实感,没有一个实实在在的东西在手里拿着,即使学的东西也感觉像是虚的,总让人觉得说不定一觉醒来以前学的东西就什么都忘记了。...
阅读全文 |
评论次数(1) |
浏览次数(865) |
所属类型(随笔点滴)
[2008-05-29 02:22] 第六章实验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,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
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,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
阅读全文 |
评论次数(3) |
浏览次数(857) |
所属类型(汇编作业)
[2008-05-28 08:27] 检测点6.1解题及一点迟到的发现!
(1) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
mov cs:[bx],ax ;填空程序
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
mov cs:[bx],ax ;填空程序
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(931) |
所属类型(汇编作业)
[2008-05-27 10:10] 第五章实验四解题
(1)(2)题,编程,向存存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,包括"mov ax,4c00h"和"int21h"
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bx,0000h
mov cx,64 ;循环次数
s: mov [bx],bl ;将bl中的数据传送到DS:[BX]
inc bx ;将BX中的数据加1
loop s
mov ax,4c00h
int 21h
code ends
end
(3)下面...
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bx,0000h
mov cx,64 ;循环次数
s: mov [bx],bl ;将bl中的数据传送到DS:[BX]
inc bx ;将BX中的数据加1
loop s
mov ax,4c00h
int 21h
code ends
end
(3)下面...
阅读全文 |
评论次数(3) |
浏览次数(827) |
所属类型(汇编作业)
[2008-05-26 13:19] 实验2解题及分析
因图片大小关系,第一题只DEBUG只截出数据和指令,第二题只截出一个栈段地址。
(1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空
-d ffff:0 f
FFFF:0000 EA 5B E0 00 F0 30 39 2F-30 37 2F 30 34 00 FC 8B
mov ax,ffff ;将数据FFFF传送到寄存器AX
mov ds,ax ;将寄存器AX中的数据传送到段寄存器DS
mov ax,2200 ;将数据2200传送到寄存器AX
mov ss,ax ;将寄存器AX中的数据传送到栈寄存器,定义栈段SS=...
(1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空
-d ffff:0 f
FFFF:0000 EA 5B E0 00 F0 30 39 2F-30 37 2F 30 34 00 FC 8B
mov ax,ffff ;将数据FFFF传送到寄存器AX
mov ds,ax ;将寄存器AX中的数据传送到段寄存器DS
mov ax,2200 ;将数据2200传送到寄存器AX
mov ss,ax ;将寄存器AX中的数据传送到栈寄存器,定义栈段SS=...
阅读全文 |
评论次数(2) |
浏览次数(756) |
所属类型(汇编作业)
[2008-05-26 08:02] 检测点3.2解题及疑问
注:上传的图片为我在两次修改完内存中的数据和输入程序后截的,我不能在debug中运行完所有指令,一运行指令debug就自动退出了。不知道是否是我的操作有误或下面程序补全错误,还望大家多多指点一下,谢谢!(是否还有别的原因?如我的电脑正有程序数据在10000H~10000FH和20000H~2000FH中,因为-d 1000:0 f显示的数据是我修改过的方便观察,但我在修改时发现这段地址中有其它数据。)
(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中,逆序拷贝的含义如图3.17所示(图中内存里的数据均为假设):
mov ...
(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中,逆序拷贝的含义如图3.17所示(图中内存里的数据均为假设):
mov ...
阅读全文 |
评论次数(3) |
浏览次数(867) |
所属类型(汇编作业)
[2008-05-26 04:10] 检测点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 将数据1传送到寄存器AX
mov ds,ax DS=0001H 将寄存器AX中的数据传送到段寄存器DS
mov ax,[0000] AX=2662H 将内存单元0010H...
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 将数据1传送到寄存器AX
mov ds,ax DS=0001H 将寄存器AX中的数据传送到段寄存器DS
mov ax,[0000] AX=2662H 将内存单元0010H...
阅读全文 |
评论次数(7) |
浏览次数(1390) |
所属类型(汇编作业)
[2008-05-24 22:25] 在当当网上买了汇编语言第二版
呵呵,看了两三天的电子书.感觉还是看实体书来的方便,同时也为了用自己的仅有的能力表示一下对作者的支持和感激.建议广大朋友们在学习的同时,稍稍有能力的购买实体书支持一下作者吧,实体书售价好像是33元吧,我在当当网上注册为会员后打折才25元,包括邮寄费5无总共才30元,少抽两包烟就够了....
阅读全文 |
评论次数(4) |
浏览次数(669) |
所属类型(随笔点滴)
[2008-05-24 18:49] 检测点2.3解题及思路
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax (sub命令?未知命令,暂当add命令理解)
jmp ax
答:CPU共4次修改IP,前三次修改在读取完每一条指令后,最后一次修改在执行完jmp ax指令后,最后IP中的值是ax中的值
解:因为已知的CPU工作过程为以下三步:
1.从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
2.IP指向下一条指令'
3.执行指令(转到步骤1,重复此过程)
所以得知IP的修改是在读取的指令进入指令缓冲器后修改的,而不是在指令...
mov ax,bx
sub ax,ax (sub命令?未知命令,暂当add命令理解)
jmp ax
答:CPU共4次修改IP,前三次修改在读取完每一条指令后,最后一次修改在执行完jmp ax指令后,最后IP中的值是ax中的值
解:因为已知的CPU工作过程为以下三步:
1.从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
2.IP指向下一条指令'
3.执行指令(转到步骤1,重复此过程)
所以得知IP的修改是在读取的指令进入指令缓冲器后修改的,而不是在指令...
阅读全文 |
评论次数(2) |
浏览次数(741) |
所属类型(汇编作业)
『 查看更多文章 』