(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
s:mov ax,[bx]
_____________ ;这里填写的是mov cs:[bx],ax
add bx,2
loop ...
- [sgiceleo] 我觉得24h没错啊 ,书上例题6.3定义的16个字型数据,然后栈顶设置的是cs:30h,而在检测题中 05/04 16:38
- [sgiceleo] 第三题 第二个空填17h 先随便填个数,然后debug,找cx的值减mov ax,4c00h 05/01 21:31
- [游客] s:mov ds:[bx],bx 最好改s:mov ds:[bx],bl 05/01 21:24
- [sgiceleo] 恩看到了 ,嘿嘿 ,一时疏忽! 04/12 14:50
- [abob] [ sgiceleo 发表于 2009-02-26 16:26 ] 我的疑问是:dw 03/16 13:11
- [sgiceleo] 我的疑问是:dw 0,0,0,0这里的字单元数怎样确定? 02/26 16:26
- [tomato] 不是由栈寄存器sp来确定吗? 02/24 21:19
- [sgiceleo] 对于栈的定义还是有一点疑问 ,怎样确定栈的字单元数? 02/24 15:00
- [sgiceleo] 谢谢回复 ,但是,希望能再次见到你, 游客的身份让我无法再与你取得进一步的请教! 第三题的第二 02/24 10:07
- [游客] 第(3)题的答案中的第2个空不对,看好了是要复制多少指令。 02/23 10:35
[2009-02-24 14:58] 检测点6.1
阅读全文 |
评论次数(5) |
浏览次数(661) |
所属类型(汇编作业)
[2009-02-20 10:55] 实验四
(1)assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0h
mov cx,64
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
(3)cs , cx...
code segment
mov ax,20h
mov ds,ax
mov bx,0h
mov cx,64
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
(3)cs , cx...
阅读全文 |
评论次数(5) |
浏览次数(600) |
所属类型(汇编作业)
[2009-02-14 16:42] 实验2
(2)这个题确实引起了我的兴趣和迷惑,我继续t了下去 ,也继续d了下去,从第二次t以后每次t,马上d一下看看变化,发现内存单元的数据都不一样,有仔细看,似乎前后的单元数据对比有些都一样 ,只是位置变了,似乎向左平移了,难道,在压栈的同时还有其他类似的预设数据充斥着整个栈段吗?迷惑 !还好程序结束了 ,结果是对的 ,栈顶也显示正确!前辈们说此题有关中断,更加百思不得其解????????还需努力!...
阅读全文 |
评论次数(1) |
浏览次数(499) |
所属类型(汇编作业)
[2009-02-14 10:20] 检测点3.2
(1) mov ax,2000h
mov ss,ax
mov sp,10h
思路:把10000h--1000fh设置成数据段,把20000h--2000fh 设置成栈段,又因为是程序中有push,因此是入栈,栈顶在栈段的底部一个单元,所以栈顶设置成ss:sp=2000:0010
(2)mov ax,1000h
mov ss,ax
mov sp,0h
思路:把10000h--1000fh设置成栈段,把20000h--2000fh设置成数据段,有因为是程序中有pop,因此是出栈,栈顶在栈段的顶部,所以栈顶设置成ss:sp=1000:...
mov ss,ax
mov sp,10h
思路:把10000h--1000fh设置成数据段,把20000h--2000fh 设置成栈段,又因为是程序中有push,因此是入栈,栈顶在栈段的底部一个单元,所以栈顶设置成ss:sp=2000:0010
(2)mov ax,1000h
mov ss,ax
mov sp,0h
思路:把10000h--1000fh设置成栈段,把20000h--2000fh设置成数据段,有因为是程序中有pop,因此是出栈,栈顶在栈段的顶部,所以栈顶设置成ss:sp=1000:...
阅读全文 |
评论次数(1) |
浏览次数(474) |
所属类型(汇编作业)
[2009-02-12 17:00] 检测点3.1
1.
mov ax,1
mov ds,ax
mov ax,[0] AX=2662H
mov bx,[1] BX=E626H
mov ax,bx AX=E626H
mov ax,[0] AX=2662H
mov bx,[2] BX=D6E6H
add ax,bx AX=FD48H
add ax,[4] AX=2C14H
mov ax,0 AX=0000H
mov al,[2] AX=00E6H
mov bx,0 BX=0000H
mov bl,[c] BX=0026H
add...
mov ax,1
mov ds,ax
mov ax,[0] AX=2662H
mov bx,[1] BX=E626H
mov ax,bx AX=E626H
mov ax,[0] AX=2662H
mov bx,[2] BX=D6E6H
add ax,bx AX=FD48H
add ax,[4] AX=2C14H
mov ax,0 AX=0000H
mov al,[2] AX=00E6H
mov bx,0 BX=0000H
mov bl,[c] BX=0026H
add...
阅读全文 |
评论次数(1) |
浏览次数(510) |
所属类型(汇编作业)
[2009-02-02 12:03] 实验一
(1)进入debug后,用a命令逐条输入汇编指令,再用r命令修改cs,ip的值,最后用t命令逐条执行每条命令。
(2)进入debug后,用a 2000:0 命令输入指令,用r修改cs,ip后,用t直接执行每条命令 ,直到算出2的8次方。
(3)主板rom的生产日期在内存fff00H--fffffH中,所以用d命令查看。我是这样操作的:d fff0:0回车,再d 回车 ,发现一日期如图:
不能修改此内容 ,此段内存是只读的。
(4)对于显卡的操作...
(2)进入debug后,用a 2000:0 命令输入指令,用r修改cs,ip后,用t直接执行每条命令 ,直到算出2的8次方。
(3)主板rom的生产日期在内存fff00H--fffffH中,所以用d命令查看。我是这样操作的:d fff0:0回车,再d 回车 ,发现一日期如图:
不能修改此内容 ,此段内存是只读的。
(4)对于显卡的操作...
阅读全文 |
评论次数(3) |
浏览次数(668) |
所属类型(汇编作业)
[2009-01-27 23:34] 检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
答:cpu 4次修改ip。
第一次是读取mov ax,bx后,第二次是读取sub ax,ax后,第三次是读取jmp ax后,第四次是执行转移指令jmp后。
最后ip的值=0000H。
注:sub是做减法运算。ax-ax=0,因此jmp ax执行后,ip=0....
mov ax,bx
sub ax,ax
jmp ax
答:cpu 4次修改ip。
第一次是读取mov ax,bx后,第二次是读取sub ax,ax后,第三次是读取jmp ax后,第四次是执行转移指令jmp后。
最后ip的值=0000H。
注:sub是做减法运算。ax-ax=0,因此jmp ax执行后,ip=0....
阅读全文 |
评论次数(1) |
浏览次数(621) |
所属类型(汇编作业)
[2009-01-27 15:16] 检测点2.2
(1)给定段地址0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010H)到(1000FH)。
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元,则SA应满足的条件是:最小为(1001H),最大为(2000H)。
注:物理地址=段地址*16D+偏移地址
偏移地址16位,取值范围是:0000H---FFFFH...
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻址到此单元,则SA应满足的条件是:最小为(1001H),最大为(2000H)。
注:物理地址=段地址*16D+偏移地址
偏移地址16位,取值范围是:0000H---FFFFH...
阅读全文 |
评论次数(2) |
浏览次数(792) |
所属类型(汇编作业)
[2009-01-23 10:47] 检测点2.1
(1)写出每条汇编指令执行后相关寄存器中的值。
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ax,ax
add ax,...
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ax,ax
add ax,...
阅读全文 |
评论次数(2) |
浏览次数(544) |
所属类型(汇编作业)
[2009-01-22 23:05] 第二章,想一想:一个16位寄存器和8位寄存器分别所能存储的数据最大值是多少?
如果是无符号数的话
16位寄存器能存储的最大值为 1111 1111 1111 1111B 16进制表示为 0FFFFH。
8位寄存器能存储的最大值为 1111 1111B 16进制表示为 0FFH。
如果是有符号数的话,最高位用于表示符号位
16位寄存器能存储的最大值为 0111 1111 1111 1111B 16进制表示为 7FFFH。
8位寄存器能存储的最大值为 0111 1111B 16进制表示为 7FH。...
16位寄存器能存储的最大值为 1111 1111 1111 1111B 16进制表示为 0FFFFH。
8位寄存器能存储的最大值为 1111 1111B 16进制表示为 0FFH。
如果是有符号数的话,最高位用于表示符号位
16位寄存器能存储的最大值为 0111 1111 1111 1111B 16进制表示为 7FFFH。
8位寄存器能存储的最大值为 0111 1111B 16进制表示为 7FH。...
阅读全文 |
评论次数(1) |
浏览次数(474) |
所属类型(默认类型)
『 查看更多文章 』