- [cutebe] 相当牛,这个苦思冥想也值了。^_^ 11/30 00:00
- [parse] 如果忽略消息循环,那么操作系统加载的程序很快就执行完了,就像DOS程序一闪而过,所以CPU会空闲下来 06/30 09:04
- [游客] 楼主好厉害,挺一下! 01/19 08:43
- [游客] 很不错。 01/04 18:36
- [chinatree] 潜力贴留名,沙发。 11/08 12:58
- [youthangel] 恩,这次对了 10/30 18:56
- [fpamc] mov bx,18 在这条指令的上边是不是要加一条sub dx,dx? 10/30 10:03
- [fpamc] 对的 10/27 11:19
- [fpamc] 对的 10/27 09:00
- [fpamc] 哦,对不起,看错了。实验13也有一个7ch中断 10/27 08:52
- [游客] 现在急需一个汇编大作业。。。。。。可以么。。。。。如果今天之内看见留言 就加 1765496715 12/28 16:52
- [youthangel] 这算是对我学习的鼓励吗?谢谢!咱们这样交流就可以了 10/11 15:48
- [fpamc] 多日观察,你的学习积极性挺高的。可以来我们群了。群号:75916434 10/11 10:58
[2012-10-10 12:31] 实验四
(1)
;内容实验室第一题
;要求:向内存0:200~0:23f依次传送数据0~63(3fh)
;算法分析:
; 第一种方法(ds)=0,(bx)=200 (al)=0 循环64次每次(ds:[bx])=(ax) inc bx,inc al
; 第二种方法让给初始值(ds)=0,(bx)=0,利用loop循环64次每次(ds:[bx+200h])=(bl),inc bx
; 第三种方法转换0:200为0020:0,让(ds)=20,(bx)=0利用loop循环64次每次(ds:[bx])=(bl),inc bx
;方法一:...
;内容实验室第一题
;要求:向内存0:200~0:23f依次传送数据0~63(3fh)
;算法分析:
; 第一种方法(ds)=0,(bx)=200 (al)=0 循环64次每次(ds:[bx])=(ax) inc bx,inc al
; 第二种方法让给初始值(ds)=0,(bx)=0,利用loop循环64次每次(ds:[bx+200h])=(bl),inc bx
; 第三种方法转换0:200为0020:0,让(ds)=20,(bx)=0利用loop循环64次每次(ds:[bx])=(bl),inc bx
;方法一:...
阅读全文 |
评论次数(0) |
浏览次数(214) |
所属类型(汇编作业)
[2012-10-10 12:11] 实验三
assume cs:code
code segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,10 ;(ss:[sp])=1484h
pop ax ;(ax)=1484h,(ss:[sp])=3026h
pop bx ;(bx)=30...
code segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,10 ;(ss:[sp])=1484h
pop ax ;(ax)=1484h,(ss:[sp])=3026h
pop bx ;(bx)=30...
阅读全文 |
评论次数(1) |
浏览次数(137) |
所属类型(汇编作业)
[2012-10-10 11:49] 实验二
(1)
Mov ax,ffff
Mov ds,ax
Mov ax,2200
Mov ss,ax
Mov sp,0100
Mov ax,[0] ;ax=5BEA
Mov ax,[2] ;ax=5CCA
Mov bx,[4] ;bx=30FE
Mov bx,[6] ;bx=6028
Push ax ;SP=00FE ,修改的内存单元的地址是220FEH字单元内容为5CCAH
Push bx; ;SP=00FC ,修改的内存单元的地址是220FCH字单元内容为6028H
Pop ax ;SP=00FE ,AX=6028
Pop bx ;SP=0100...
Mov ax,ffff
Mov ds,ax
Mov ax,2200
Mov ss,ax
Mov sp,0100
Mov ax,[0] ;ax=5BEA
Mov ax,[2] ;ax=5CCA
Mov bx,[4] ;bx=30FE
Mov bx,[6] ;bx=6028
Push ax ;SP=00FE ,修改的内存单元的地址是220FEH字单元内容为5CCAH
Push bx; ;SP=00FC ,修改的内存单元的地址是220FCH字单元内容为6028H
Pop ax ;SP=00FE ,AX=6028
Pop bx ;SP=0100...
阅读全文 |
评论次数(1) |
浏览次数(162) |
所属类型(汇编作业)
[2012-10-10 11:38] 检测点3.2
(1)
mov ax,1000h
mov ds,ax
;填空开始
mov ax,2000h
mov ss,ax;初始化栈段段地址
mov sp,10h;初始化栈,ss:sp指向2000fh的前一个单元
;填空结束
;接下来,依次入栈
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
(2)
mov ax,2000h
mov ds,ax
;跟上一题是一个逆过程
;填空开始
mov ax,2000h
mov ss,ax
mov sp,0
;填空...
mov ax,1000h
mov ds,ax
;填空开始
mov ax,2000h
mov ss,ax;初始化栈段段地址
mov sp,10h;初始化栈,ss:sp指向2000fh的前一个单元
;填空结束
;接下来,依次入栈
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
(2)
mov ax,2000h
mov ds,ax
;跟上一题是一个逆过程
;填空开始
mov ax,2000h
mov ss,ax
mov sp,0
;填空...
阅读全文 |
评论次数(1) |
浏览次数(144) |
所属类型(汇编作业)
[2012-10-10 11:37] 检测点3.1
(1)
分析:
①0001:0000等同于0000:0010,所以我们操作的是课本数据的第二行
②数据在内存中遵循高高低低的原则
③通用寄存器可以拆分成高八位*h和低八位*l,当把通用寄存器拆分使用时*l溢出,不会影响*h中的数据
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,[0000] AX=2662H
mov bx,[0002] BX=D6E6H
add ax,bx AX=FD48H
add ax,[0004] AX=C97...
分析:
①0001:0000等同于0000:0010,所以我们操作的是课本数据的第二行
②数据在内存中遵循高高低低的原则
③通用寄存器可以拆分成高八位*h和低八位*l,当把通用寄存器拆分使用时*l溢出,不会影响*h中的数据
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,[0000] AX=2662H
mov bx,[0002] BX=D6E6H
add ax,bx AX=FD48H
add ax,[0004] AX=C97...
阅读全文 |
评论次数(1) |
浏览次数(141) |
所属类型(汇编作业)
[2012-10-09 14:31] 实验一
(1)敲进去看了看
(2)
指令如下:
mov ax,1
add ax,ax
jmp 2000:0003
结果见图片1.1 1.2 1.3
(3)在FFF0:00F0这连续的16个字节中存有bios生产日期
结果见图片3.1 3.2
(4)向显存里写入东西
结果见图片4
对于(3)
我想说:记住,以下这些东西
①ROM在我们这些个人PC用户的使用者的手中是不能修改的(事实是可以修改的但不是通过写程序)
②请记住:在8086的PC机中
主存储器RAM:00000——9FFFFH
显 存RAM:A0000H——BFFF...
(2)
指令如下:
mov ax,1
add ax,ax
jmp 2000:0003
结果见图片1.1 1.2 1.3
(3)在FFF0:00F0这连续的16个字节中存有bios生产日期
结果见图片3.1 3.2
(4)向显存里写入东西
结果见图片4
对于(3)
我想说:记住,以下这些东西
①ROM在我们这些个人PC用户的使用者的手中是不能修改的(事实是可以修改的但不是通过写程序)
②请记住:在8086的PC机中
主存储器RAM:00000——9FFFFH
显 存RAM:A0000H——BFFF...
阅读全文 |
评论次数(1) |
浏览次数(144) |
所属类型(汇编作业)
[2012-10-09 14:15] 检测点2.3
①mov ax,bx
②sub ax,ax
③jmp ax
以上指令执行完后CPU共修改了4次IP,
第一次:当①号指令进入指令缓冲区后,IP指向②号指令
第二次:当②号指令进入指令缓冲区后,IP指向③号指令
第三次:当③号指令进入指令缓冲区后,IP指向③号指令之后的一条指令
第四次:当程序执行③号指令后会把IP修改给①号指令的偏移地址
最后IP的值是①号指令的偏移地址...
②sub ax,ax
③jmp ax
以上指令执行完后CPU共修改了4次IP,
第一次:当①号指令进入指令缓冲区后,IP指向②号指令
第二次:当②号指令进入指令缓冲区后,IP指向③号指令
第三次:当③号指令进入指令缓冲区后,IP指向③号指令之后的一条指令
第四次:当程序执行③号指令后会把IP修改给①号指令的偏移地址
最后IP的值是①号指令的偏移地址...
阅读全文 |
评论次数(1) |
浏览次数(156) |
所属类型(汇编作业)
[2012-10-09 14:14] 检测点2.2
(1)给定段地址为0001h,仅通过变化偏移地址寻址,CPU的寻址范围为00010h到1000fh。
(2)有一数据存放在内存20000h单元中,现给段地址为SA,若想用偏移地址寻址到此单元。则SA应满足的条件是:最小为1001h,最大为2000h。...
(2)有一数据存放在内存20000h单元中,现给段地址为SA,若想用偏移地址寻址到此单元。则SA应满足的条件是:最小为1001h,最大为2000h。...
阅读全文 |
评论次数(5) |
浏览次数(168) |
所属类型(汇编作业)
[2012-10-09 14:13] 检测点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
mov al,bh AX=0482h
mov ah,bl AX=6c82h
add ah,ah AX=d882h
add al,6 AX=d888h
add al,al 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
mov al,bh AX=0482h
mov ah,bl AX=6c82h
add ah,ah AX=d882h
add al,6 AX=d888h
add al,al AX...
阅读全文 |
评论次数(2) |
浏览次数(152) |
所属类型(汇编作业)
[2012-10-01 17:54] 检测点1.1
说明:^代表乘方
(1)1个CPU的寻址能力为8Kb,那么它的地址总线的宽度为(13)
(2)1KB的存储器有(1024)个存储单元,存储单元的编号从(0)到(1023)
(3)1KB的存储器可以存储(2^13)个bit,(1024)个Byte
(4)1GB、1MB、1KB分别是(2^30 2^20 2^10)Byte
(5)8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64KB、1MB、16MB、4GB。
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根...
(1)1个CPU的寻址能力为8Kb,那么它的地址总线的宽度为(13)
(2)1KB的存储器有(1024)个存储单元,存储单元的编号从(0)到(1023)
(3)1KB的存储器可以存储(2^13)个bit,(1024)个Byte
(4)1GB、1MB、1KB分别是(2^30 2^20 2^10)Byte
(5)8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64KB、1MB、16MB、4GB。
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根...
阅读全文 |
评论次数(1) |
浏览次数(177) |
所属类型(汇编作业)