逻辑错误:汇编指令的错误。
语法错误:伪指令的错误。...


- [mess] 这个解释的问题不小啊,博主还是好好看看第四章的4.2吧 程序在编译的时候被编译器发现的错误是“ 06/03 17:42
- [xiaochong] 正确! 06/01 10:43
- [makeamind] 恩谢谢| 05/30 16:29
- [makeamind] 谢谢lemontree,已经明白了! 05/30 16:28
- [younggay] sub 减法操作。sub ax,ax就是 ax = ax - ax 05/30 11:35
- [younggay] 就是执行FFFF0H处的指令,同一物理地址可以由不同的段地址和偏移地址组成。 05/30 11:28
- [younggay] 偷懒了。 05/30 11:26
- [younggay] up 05/30 11:26
- [younggay] mov bl,[000C] bx=?这个000C是不是12的意思?即偏移地址是12? 05/30 10:58
- [lemontree] 个000C是不是12的意思?即偏移地址是12?所以bx=0000H 建议博主在巩固一下进制间 05/29 21:16
[2008-06-03 13:54] 逻辑错误与语法错误
阅读全文 |
评论次数(1) |
浏览次数(717) |
所属类型(总结PP)
[2008-05-31 17:51] 检测3.2
1、mov bx=2000H
mov ss,bx
mov sp,0010H
2、mov bx=1000H
mov ss,bx
mov sp,0
push 内存单元 将内存字单元出的字传送入栈中。
pop 内存单元 将栈顶元素传送到内存字单元。...
mov ss,bx
mov sp,0010H
2、mov bx=1000H
mov ss,bx
mov sp,0
push 内存单元 将内存字单元出的字传送入栈中。
pop 内存单元 将栈顶元素传送到内存字单元。...
阅读全文 |
评论次数(1) |
浏览次数(632) |
所属类型(汇编作业)
[2008-05-29 20:26] 检测3.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 ax=0001H
mov ds,ax ds=0001H
mov ax,[0000] ax=2662H
mov bx,[0001] ...
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 ax=0001H
mov ds,ax ds=0001H
mov ax,[0000] ax=2662H
mov bx,[0001] ...
阅读全文 |
评论次数(3) |
浏览次数(679) |
所属类型(汇编作业)
[2008-05-29 00:26] 第二章PP
1、8086CPU所有的寄存器多是16位的,通过寄存器有AX,BX,CX,DX。再可分为AH,AL,H即为高字节为high,l低字节位low。
2、16位的CPU指的是运算器一次最多可以处理16位的数据;寄存器的最大宽度为16位,寄存器和运算器之间的通路为16位。
3、8086的寻址方式通过段地址*16+偏移地址来算出内存的地址。真正的含义就是用一个基础地址和相对一基础地址的偏移地址相加得到的内存地址。
4、CPU可以用不同的段地址和偏移地址形成同一个物理地址。
5、偏移地址为16位,范围为0000H-FFFFH,大小为64KB。...
2、16位的CPU指的是运算器一次最多可以处理16位的数据;寄存器的最大宽度为16位,寄存器和运算器之间的通路为16位。
3、8086的寻址方式通过段地址*16+偏移地址来算出内存的地址。真正的含义就是用一个基础地址和相对一基础地址的偏移地址相加得到的内存地址。
4、CPU可以用不同的段地址和偏移地址形成同一个物理地址。
5、偏移地址为16位,范围为0000H-FFFFH,大小为64KB。...
阅读全文 |
评论次数(1) |
浏览次数(644) |
所属类型(总结PP)
[2008-05-29 00:11] 第一章的PP
传张PP,不时看看...
阅读全文 |
评论次数(2) |
浏览次数(886) |
所属类型(总结PP)
[2008-05-29 00:07] 关于8086PC开机时执行的第一条指令的疑问
"在8086CPU加电启动或复位后,CS和IP被设置为CS=F000H,IP=FFFFH,即在8086PC机刚启动时,CPU从内存FFFF0H单元中读取指令执行,FFFF0H单元中的指令是8086PC开机后执行的第一条指令。"
这里page30页!!
这里提到的CS和IP被设置为CS=F000H,IP=FFFFH,得到的物理地址应该为FFFFFH才对把,应该内存从FFFFFH中读取数据才是啊?为什么是FFFF0H呢?...
这里page30页!!
这里提到的CS和IP被设置为CS=F000H,IP=FFFFH,得到的物理地址应该为FFFFFH才对把,应该内存从FFFFFH中读取数据才是啊?为什么是FFFF0H呢?...
阅读全文 |
评论次数(5) |
浏览次数(825) |
所属类型(疑问)
[2008-05-28 23:53] 检测2.3
下面的3条指令执行后,CPU几次修改IP,都在什么时候?最后IP的值是多少?
mov ax,bx
sub ax,ax
jmp ax
过程分析:1、CPU从内存地址中读取第一条指令mov ax,bx后,第一次修改ip.
2、执行mov ax,bx命令后,CPU再从指定的新的内存地址读取指令sub ax,ax,然后第二修改下IP。
3、执行sub ax,ax后,CPU再读取指令jmp ax,然后第三次修改下IP。
4\执行jmp ax,第四次修改IP=ax...
所以,CPU总共修改了,4次IP,多在读取指令后,最后的IP为ax....
mov ax,bx
sub ax,ax
jmp ax
过程分析:1、CPU从内存地址中读取第一条指令mov ax,bx后,第一次修改ip.
2、执行mov ax,bx命令后,CPU再从指定的新的内存地址读取指令sub ax,ax,然后第二修改下IP。
3、执行sub ax,ax后,CPU再读取指令jmp ax,然后第三次修改下IP。
4\执行jmp ax,第四次修改IP=ax...
所以,CPU总共修改了,4次IP,多在读取指令后,最后的IP为ax....
阅读全文 |
评论次数(4) |
浏览次数(763) |
所属类型(汇编作业)
[2008-05-28 22:50] 检测2.2
1、给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为多少到多少?
因为偏移地址大小为16位,范围为0-FFFFH,最大64KB。
所以范围为:0001H-10000H
###################################
物理地址=段地址*16+偏移地址
10H+(0000H-FFFFH)=0010H-10000H
###################################
谢谢指正
2、有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件为:最小为:?最大为:?
段地址...
因为偏移地址大小为16位,范围为0-FFFFH,最大64KB。
所以范围为:0001H-10000H
###################################
物理地址=段地址*16+偏移地址
10H+(0000H-FFFFH)=0010H-10000H
###################################
谢谢指正
2、有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件为:最小为:?最大为:?
段地址...
阅读全文 |
评论次数(1) |
浏览次数(598) |
所属类型(汇编作业)
[2008-05-28 05:58] 检测2.1
1\
mov ax,62627 ax=F4A3H
mov ah,31H ax=31A3H
mov al,23H ax=3123H
add ax,ax ax=6246H
mov bx,826CH bx=826CH
mov cx,ax cx=6246H
mov ax,bx ax=826CH
add ax,bx ax=04D8H(104D8H,超出范围丢掉)
mov al,bh ax=0482H
mov ah,bl ax=6C82H
add ah,ah ax=D882H
add al,6 ax=...
mov ax,62627 ax=F4A3H
mov ah,31H ax=31A3H
mov al,23H ax=3123H
add ax,ax ax=6246H
mov bx,826CH bx=826CH
mov cx,ax cx=6246H
mov ax,bx ax=826CH
add ax,bx ax=04D8H(104D8H,超出范围丢掉)
mov al,bh ax=0482H
mov ah,bl ax=6C82H
add ah,ah ax=D882H
add al,6 ax=...
阅读全文 |
评论次数(1) |
浏览次数(591) |
所属类型(汇编作业)
[2008-05-28 05:24] 检测1.1
1、地址总线的宽度决定了CPU的寻址能力大小,总线由很多导线组成,一根导线只能传送两个信号,一个高电平,一个低电平,即计算机中的1和0,所以1个导线最多能找到2个存储单元,N个导线最多能表示2^N个存储单元,而一个存储单元的大小为1个字节。所以:2^N=8(kb)=2^13(byte).
2、3、1个存储单元大小为一个字节(8bit)即1byte,即1KB=1024byte,1byte=8bit,范围为0--1023.
4、1GB=1024MB=1024KB=1024Byte
5、地址总线宽度》》求寻址能力》
方法:2^N次,单位为字节!
答案:64KB...
2、3、1个存储单元大小为一个字节(8bit)即1byte,即1KB=1024byte,1byte=8bit,范围为0--1023.
4、1GB=1024MB=1024KB=1024Byte
5、地址总线宽度》》求寻址能力》
方法:2^N次,单位为字节!
答案:64KB...
阅读全文 |
评论次数(1) |
浏览次数(556) |
所属类型(汇编作业)