


- [游客] 噢,知道了。 06/08 11:20
- [游客] 0:200开始的这段内存空间才是安全的吧。 06/08 11:16
- [游客] 没问题。 06/08 11:15
- [mess] 答案正确,分析的也不错,博主继续加油啊;) 06/05 17:13
- [yulh] PSP的内容已经补上 谢谢点评 06/02 20:28
- [xiaochong] 总结的不错,继续努力。。。 06/02 19:33
- [xiaochong] 正确! 06/02 19:29
- [xiaochong] 用图片展示很细致,不错。 不过试验3还有第(3)步,查看PSP的内容,博主别忽略了。。。 06/02 18:35
- [xiaochong] 路过。。。 06/02 18:12
- [yulh] 谢谢点评 06/01 19:55
[2009-06-06 12:50] 检测点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
2)下面的程序实现依次...
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
2)下面的程序实现依次...
阅读全文 |
评论次数(2) |
浏览次数(549) |
所属类型(汇编作业)
[2009-06-02 22:42] 实验4
1)编程,向内存0:200~0:23f依次传送0~63(3fh).
分析:
向内存0:200~0:23f依次传送0~63(3fh).
可以知道写入方向为0:200~0:23f内存区域
所以可以设定段地址为0,可以用DS来存放,偏移地址范围200h~23fh
23fh-200h正好是64个内存字节单元,要送入的数据是0~63(3fh). 所以是把0~63个数字送入64个内存字节单元
多次传送可以用LOOP来循环.
下面是代码:
assume cs:code
code segment...
分析:
向内存0:200~0:23f依次传送0~63(3fh).
可以知道写入方向为0:200~0:23f内存区域
所以可以设定段地址为0,可以用DS来存放,偏移地址范围200h~23fh
23fh-200h正好是64个内存字节单元,要送入的数据是0~63(3fh). 所以是把0~63个数字送入64个内存字节单元
多次传送可以用LOOP来循环.
下面是代码:
assume cs:code
code segment...
阅读全文 |
评论次数(1) |
浏览次数(506) |
所属类型(汇编作业)
[2009-06-02 17:40] 实验3
;t1.asm
;#Mode=DOS
;MASMPlus 单文件代码模板 - 纯 DOS 程序
;--------------------------------------------------------------------
;单个文件需要指定编译模式,否则默认是EXE方式,在系统设置中可以设置默认是DOS还是Windows.
;编译模式自带了DOS/COM/CON/EXE/DLL/LIB这几种,如果有必要,可以更改ide.ini添加新的编译模式
;当然,更好的是创建为一个工程.更方便及易于管理,使用方法:按Ctrl多选->创建工程.必须有多个文件
assume c...
;#Mode=DOS
;MASMPlus 单文件代码模板 - 纯 DOS 程序
;--------------------------------------------------------------------
;单个文件需要指定编译模式,否则默认是EXE方式,在系统设置中可以设置默认是DOS还是Windows.
;编译模式自带了DOS/COM/CON/EXE/DLL/LIB这几种,如果有必要,可以更改ide.ini添加新的编译模式
;当然,更好的是创建为一个工程.更方便及易于管理,使用方法:按Ctrl多选->创建工程.必须有多个文件
assume c...
阅读全文 |
评论次数(2) |
浏览次数(520) |
所属类型(汇编作业)
[2009-06-02 14:56] 检测点3.2
1)补全程序使其可以将10000H~1000FH中的8个字,逆向复制到20000H~2000FH中.逆向复制的含义如图3.17 (Page70)
分析:
空栈SS:SP指向 栈底部字单元地址+2 的内存单元,
栈最后一个字节单元地址为000FH,那栈最后一个字单元地址为EH.
所以空栈的(SP)=00EH+2 ,(SP)=0010H
mov ax,1000h
mov ds,ax
MOV AX,2000H
MOV SS,AX
MOV SP,0010H
push [0]
p...
分析:
空栈SS:SP指向 栈底部字单元地址+2 的内存单元,
栈最后一个字节单元地址为000FH,那栈最后一个字单元地址为EH.
所以空栈的(SP)=00EH+2 ,(SP)=0010H
mov ax,1000h
mov ds,ax
MOV AX,2000H
MOV SS,AX
MOV SP,0010H
push [0]
p...
阅读全文 |
评论次数(1) |
浏览次数(582) |
所属类型(汇编作业)
[2009-06-01 16:14] 检测点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=2662h ;ds=0001h
mov bx,[0001] BX=e626h ;ds=0001h
mov ...
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=2662h ;ds=0001h
mov bx,[0001] BX=e626h ;ds=0001h
mov ...
阅读全文 |
评论次数(1) |
浏览次数(402) |
所属类型(汇编作业)
[2009-06-01 14:18] 检测点2.3
下面的3条指令执行后,CPU几次修改IP?多是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
分析:
8086CPU工作过程:
1)从CS:IP指向的的内存单元读取指令,
读取的指令进入指令缓冲器。
2)IP指向下一条指令
3)执行指令。(转到1,重复这个过程)
1.读(mov ax,bx)进入指令缓冲器 IP修改指向(sub ax,ax)并执行指令缓冲器内...
mov ax,bx
sub ax,ax
jmp ax
分析:
8086CPU工作过程:
1)从CS:IP指向的的内存单元读取指令,
读取的指令进入指令缓冲器。
2)IP指向下一条指令
3)执行指令。(转到1,重复这个过程)
1.读(mov ax,bx)进入指令缓冲器 IP修改指向(sub ax,ax)并执行指令缓冲器内...
阅读全文 |
评论次数(2) |
浏览次数(319) |
所属类型(汇编作业)
[2009-06-01 11:27] 检测点2.2
1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为__到__。
分析:
物理地址 = 段地址 X 16 + 偏移地址
偏移地址16位 变化范围0~FFFFH 用偏移地址寻址最多可寻64KB个内存单元。
当(偏移地址 = 0H)时,0001H X 16 + 0H = 00010H
当(偏移地址 = 0FFFFH)时,0001H X 16 + 0FFFFH = 1000FH
解答:
CPU的寻址范围为 00010H 到 1000FH 。
2)...
分析:
物理地址 = 段地址 X 16 + 偏移地址
偏移地址16位 变化范围0~FFFFH 用偏移地址寻址最多可寻64KB个内存单元。
当(偏移地址 = 0H)时,0001H X 16 + 0H = 00010H
当(偏移地址 = 0FFFFH)时,0001H X 16 + 0FFFFH = 1000FH
解答:
CPU的寻址范围为 00010H 到 1000FH 。
2)...
阅读全文 |
评论次数(1) |
浏览次数(177) |
所属类型(汇编作业)
[2009-06-01 09:25] 检测点2.1
1) 写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 AX=0F4A3H ;62627的十六进制是0F4A3H
mov ah,31h AX=31A3H ;AH=31H
mov al,23h AX=3123H ;AL=23H
add ax,ax AX=6246H ;AX=3123H,3123H+3123H=6246H
mov bx,826ch BX=826cH
mov cx,ax CX=6246H ;AX=6246H
mov ax,bx AX=826cH ;BX=826cH
add ax,bx ...
mov ax,62627 AX=0F4A3H ;62627的十六进制是0F4A3H
mov ah,31h AX=31A3H ;AH=31H
mov al,23h AX=3123H ;AL=23H
add ax,ax AX=6246H ;AX=3123H,3123H+3123H=6246H
mov bx,826ch BX=826cH
mov cx,ax CX=6246H ;AX=6246H
mov ax,bx AX=826cH ;BX=826cH
add ax,bx ...
阅读全文 |
评论次数(1) |
浏览次数(168) |
所属类型(汇编作业)
[2009-05-31 14:52] 检测点1.1
1)1个CPU的寻址能力是8KB,那么他的地址总线宽度为____.
分析:
CPU 地址总线有N根决定CPU 的地址总线的宽度为N。同时决定最多可以寻找2的N次方个内存单元。
1KB=1024B,
8KB x 1024B = 8192B
2^N=8192B
N=13
解答:8KB寻址能力的CPU的地址总线宽度为13
2)1KB 的存储器有___个存储单元。存储单元从____到____.
分析:
存储器被划分成若干个单元,每个单元从0开始顺序编号。
微型计...
分析:
CPU 地址总线有N根决定CPU 的地址总线的宽度为N。同时决定最多可以寻找2的N次方个内存单元。
1KB=1024B,
8KB x 1024B = 8192B
2^N=8192B
N=13
解答:8KB寻址能力的CPU的地址总线宽度为13
2)1KB 的存储器有___个存储单元。存储单元从____到____.
分析:
存储器被划分成若干个单元,每个单元从0开始顺序编号。
微型计...
阅读全文 |
评论次数(1) |
浏览次数(195) |
所属类型(汇编作业)
页码数(1):
1