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 ss,ax
mov sp,9
mov ax,datasg
mov ds,...
- [doing1984] 我做错了~~~! mov ax,1 mov ds,ax 04/18 16:54
- [doing1984] 3.3字的传送写得很清楚了“因为8086CPU是16位结构,有16根数据线.......” 04/18 15:49
- [doing1984] 看了下别人的答案,说是修改了四次了,我之前也是想着四次的,但是我觉得执行指令后IP是自己移动的,不是 04/18 10:56
- [doing1984] 我觉得我这种解释比书说的“左移4位”要好理解一些,书上写的进制好混乱,看得我一头雾水 04/17 20:15
- [doing1984] 谢谢游客,反正它一次读一条指令就对了,不知道书后面有没有具体解释 09/03 08:21
- [游客] 十六进制10001H不是10H(16)的整数倍啊。 段地址最后一位如果为0,说明SA*10H=** 08/31 15:25
- [游客] 应该与源代码中指令操作符有关系,特定的操作符号集合决定了这个指令将被编译成多少个字节码,当然也包括指 08/31 15:15
- [游客] 不是的,你看到的“;”是字符层面上的,而机器指令是2进制层面的。你的源代码经过编译器的编译才能变成机 08/31 15:12
- [doing1984] “这不是一个16位数”写错了,应该是这不是一个16的倍数 08/31 09:08
- [doing1984] 上面那个写错了,20000H-FFFFH=65537 08/31 09:04
[2013-04-23 15:50] 问题7.9
阅读全文 |
评论次数(0) |
浏览次数(346) |
所属类型(汇编作业)
[2013-04-23 10:16] 检测点6.1.1
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...
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...
阅读全文 |
评论次数(0) |
浏览次数(330) |
所属类型(汇编作业)
[2013-04-22 17:31] 实验4.3
ASSUME CS:CODE
CODE SEGMENT
MOV AX,CS
MOV DS,AX
MOV AX,0020H
MOV ES,AX
MOV BX,0
sub CX,5
S: MOV AL,[BX]
MOV ES:[BX],AL
IN...
CODE SEGMENT
MOV AX,CS
MOV DS,AX
MOV AX,0020H
MOV ES,AX
MOV BX,0
sub CX,5
S: MOV AL,[BX]
MOV ES:[BX],AL
IN...
阅读全文 |
评论次数(0) |
浏览次数(383) |
所属类型(汇编作业)
[2013-04-22 17:00] 实验4.1
assume cs:codesg
codesg segment
mov ax,20h
mov ds,ax
mov bx,0h
mov cx,3fh
s: mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end...
codesg segment
mov ax,20h
mov ds,ax
mov bx,0h
mov cx,3fh
s: mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end...
阅读全文 |
评论次数(0) |
浏览次数(362) |
所属类型(汇编作业)
[2013-04-22 13:07] 实验3
(2)
AX BX CX SP DS ES SS CS IP
0000 0000 16 0000 0b76 0b76 0B86 0b86 0000
2000 0000 16 0000 0b76 0b76 0B86 0b86 0003
2000 0000 16 0000 0b76 0b76 2000 0b86 0008
2000 0000 16 000a 0b76 0b76 2000 0b86 000B
0000 0000 16 000c 0b76 0b76 2000 0b86 000c
0000 0000 16 000e 0b76 0b76 2000 0b86 000d
000...
AX BX CX SP DS ES SS CS IP
0000 0000 16 0000 0b76 0b76 0B86 0b86 0000
2000 0000 16 0000 0b76 0b76 0B86 0b86 0003
2000 0000 16 0000 0b76 0b76 2000 0b86 0008
2000 0000 16 000a 0b76 0b76 2000 0b86 000B
0000 0000 16 000c 0b76 0b76 2000 0b86 000c
0000 0000 16 000e 0b76 0b76 2000 0b86 000d
000...
阅读全文 |
评论次数(0) |
浏览次数(401) |
所属类型(汇编作业)
[2013-04-18 16:35] 检测点3.1.1
【注】ds此时为0001H
AX F080
BX 30F0
AX 30F0
AX F080
BX EF30
AX DFC0
AX 0000
AL 30
BX 0000
BL 13
AL 43...
AX F080
BX 30F0
AX 30F0
AX F080
BX EF30
AX DFC0
AX 0000
AL 30
BX 0000
BL 13
AL 43...
阅读全文 |
评论次数(1) |
浏览次数(473) |
所属类型(汇编作业)
[2013-04-18 10:52] 检测点2.3
CPU一次修改IP
在执行jmp ax时修改的
最后IP的值是ax...
在执行jmp ax时修改的
最后IP的值是ax...
阅读全文 |
评论次数(1) |
浏览次数(488) |
所属类型(汇编作业)
[2013-04-17 20:13] 2.7 段地址*16+偏移地址=物理地址
我觉得书上给的例子,进制有点混乱
段地址:1230
偏移地址:00C8
这里的段地址跟偏移地址都是16进制
那么这个公式应该严谨的写成下面这样:
1230H*10H+00C8H=12300H+00C8H=123C8H
再往下看....
8086CPU是16位结构的
8086CPU的地址总线是20位的
【注意】这里的位是说二进制的16位,20位
20位-16位=4位
4位二进制可以用十六进制的1位表示
二进制 十六进制
0000 —— 0
0001 —— 1
0010 —— 2
0...
段地址:1230
偏移地址:00C8
这里的段地址跟偏移地址都是16进制
那么这个公式应该严谨的写成下面这样:
1230H*10H+00C8H=12300H+00C8H=123C8H
再往下看....
8086CPU是16位结构的
8086CPU的地址总线是20位的
【注意】这里的位是说二进制的16位,20位
20位-16位=4位
4位二进制可以用十六进制的1位表示
二进制 十六进制
0000 —— 0
0001 —— 1
0010 —— 2
0...
阅读全文 |
评论次数(1) |
浏览次数(462) |
所属类型(疑问)
[2013-04-17 19:00] 16位结构的CPU是指,CPU内部总线宽度为16位?
2.5说
8086是16位结构的CPU,这也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息最大长度是16位的。
这个意思不就是CPU内部总线宽度为16位吗?...
8086是16位结构的CPU,这也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息最大长度是16位的。
这个意思不就是CPU内部总线宽度为16位吗?...
阅读全文 |
评论次数(1) |
浏览次数(479) |
所属类型(疑问)
[2012-08-31 14:17] CPU在读取指令的时候,为什么有时读2个,有时读3个?
在35页的小结中第三点:
(3)8086CPU的工作过程:
1、从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
2、IP指向下一条指令
...
这里看到CPU是一条指令一条指令的读的,从之前章节的图例来看,读完一条指令后接着就执行了,那么,是不是意味着CPU每读一次必然是一条完整的指令?像JAVA一条指令是由“;”结束的,CPU是否也是用类似";"来判断一条指令已经结束?...
(3)8086CPU的工作过程:
1、从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
2、IP指向下一条指令
...
这里看到CPU是一条指令一条指令的读的,从之前章节的图例来看,读完一条指令后接着就执行了,那么,是不是意味着CPU每读一次必然是一条完整的指令?像JAVA一条指令是由“;”结束的,CPU是否也是用类似";"来判断一条指令已经结束?...
阅读全文 |
评论次数(3) |
浏览次数(512) |
所属类型(疑问)
『 查看更多文章 』