- [kanwangxue] 如果是文字的,不是特别好啊,体力活,如果文字还加点动画,那就必须顶了。 01/15 01:10
- [kanwangxue] 必须顶啊。 01/15 00:54
- [ltoiii] 既然是实现loop功能,是否要考虑s和se标号? mov bx,offset s - offset 12/09 12:09
- [xiaoyao2012] 正确 11/01 15:33
- [xuer2016] 又找到2条被我忽视的地方: 1.PUSH 和 POP 针对字单元 2.POP 不能是CS 10/26 10:57
- [xuer2016] 学习了 我书写不规范,16进制字母前不加0,后面不加H,以后要注意了。。。 10/26 10:51
- [xuer2016] 来老师这学习下 10/26 10:31
- [youthangel] 不妙,CPU的利用率一下子就上去了。还好我的处理器不是太弱,35%左右的利用率。建议博主在修改一下 10/20 08:23
- [fpamc] 在我心里她就是我的女神。 10/02 08:58
- [newpeople] 你女朋友用得了简直就是一个女神…… 10/01 08:10
- [99998888] 请您指点一下如何找到会ASSEMBLER 语言的翻译,翻译成中文或英文。我的QQ ; 9097815 07/25 09:56
- [jeremy] 我觉得你学习的挺好,可以加你扣扣吗?我的469614823 08/07 14:46
- [zhangbo0805] 哈哈, 你好呀!很希望认识你呀!我发现你学习的积极性很高!正想向您学习呢! 07/31 23:31
- [tomato] 知道了,排得还挺满。 05/29 16:35
- [tomato] 现在学习情况怎么样?在做课设二还是什么? 05/29 10:41
- [tomato] 你的留言收到了。 05/05 23:51
- [fpamc] 开始学习c咯! 05/03 21:40
- [fpamc] 居然不能发博客了……! 04/22 21:03
- [tomato] 你相册中的游戏界面我看过了,非常好,界面很漂亮,很有创造力。博主,很有潜力。加油,一定能把这个游戏做 04/20 23:46
- [fpamc] 忙了半个月,不在家,没时间学习汇编。 但是在途中想到了一个有史以来最难的程序。对于刚学完9章的我。 04/13 20:56
[2012-05-18 22:18] 实验十五
我有一个疑问,就是为什么换成大括号里面的内容后,就不行呢?
我感觉,一样的啊。。。。。。
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
xor ax,ax
mov es,ax
mov si,offset int9
mov di,204h
mov cx,o...
我感觉,一样的啊。。。。。。
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
xor ax,ax
mov es,ax
mov si,offset int9
mov di,204h
mov cx,o...
阅读全文 |
评论次数(2) |
浏览次数(286) |
所属类型(汇编作业)
[2012-05-18 22:17] 第15章作业
第十五章
检测点15.1
(1) 仔细分析一下书中的in9中断例程,看看是否可以精简一下?
其实在我们的int 9中断例程中,模拟int指令调用原int 9中断例程的程序段是可以精简的,因为在进入中断例程后,IF和TF都已置0,没有必要再进行设置了,对于程序段:
pushf ;标志寄存器入栈
pushf
pop bx
and bh,11111100b ;IF和TF为flag的第9位和第8位
push bx
popf ;TF=0,IF=0
call dword ptr ds:[0] ;CS、IP入栈;(IP)=ds:[0],(CS)=ds:[2]
...
检测点15.1
(1) 仔细分析一下书中的in9中断例程,看看是否可以精简一下?
其实在我们的int 9中断例程中,模拟int指令调用原int 9中断例程的程序段是可以精简的,因为在进入中断例程后,IF和TF都已置0,没有必要再进行设置了,对于程序段:
pushf ;标志寄存器入栈
pushf
pop bx
and bh,11111100b ;IF和TF为flag的第9位和第8位
push bx
popf ;TF=0,IF=0
call dword ptr ds:[0] ;CS、IP入栈;(IP)=ds:[0],(CS)=ds:[2]
...
阅读全文 |
评论次数(2) |
浏览次数(244) |
所属类型(汇编作业)
[2012-05-15 23:18] DOS和BIOS中断大全chm
前两天,头脑一热,想到弄个中断宝典,想到以后可能用到。
所以在网上搜罗,结果搜到一个相对还好些的chm。
但是,唯一的缺点就是没有目录索引。很乱的感觉,
所以为了方便,就自己鼓捣了好几小时,自己编译了一个带索引目录的,有分类的chm。
嘿,为了大家方便,我就发上来。如果不好,就凑活看吧……~~O(∩_∩)O~~
我把它放到了我的115网盘了,
这是连接
http://115.com/file/dpvtn636
刚才忘了压缩……...
所以在网上搜罗,结果搜到一个相对还好些的chm。
但是,唯一的缺点就是没有目录索引。很乱的感觉,
所以为了方便,就自己鼓捣了好几小时,自己编译了一个带索引目录的,有分类的chm。
嘿,为了大家方便,我就发上来。如果不好,就凑活看吧……~~O(∩_∩)O~~
我把它放到了我的115网盘了,
这是连接
http://115.com/file/dpvtn636
刚才忘了压缩……...
阅读全文 |
评论次数(5) |
浏览次数(260) |
所属类型(自娱自乐)
[2012-05-15 18:02] 实验十四(扩展)
assume cs:code
code segment
db 32h,9,8,7,4,2,0,0,"// ::",0 ;设置端口单元号和字符
start:mov ax,cs
mov ds,ax
mov ax,0b800h
mov es,ax
s: xor bx,bx
mov di,13*160+2*28
mov cx,7 ;初始化各寄存器
time:push cx
mov al,[bx]
out 70h,al
in al,71h
mov ah,al
mov c...
code segment
db 32h,9,8,7,4,2,0,0,"// ::",0 ;设置端口单元号和字符
start:mov ax,cs
mov ds,ax
mov ax,0b800h
mov es,ax
s: xor bx,bx
mov di,13*160+2*28
mov cx,7 ;初始化各寄存器
time:push cx
mov al,[bx]
out 70h,al
in al,71h
mov ah,al
mov c...
阅读全文 |
评论次数(9) |
浏览次数(256) |
所属类型(汇编作业)
[2012-05-10 19:51] 第十四章笔记
第十四章 端口
在PC机系统中,和cpu通过总线相连芯片除各种寄存器外,还有以下3种芯片:
① 各种接口卡上的接口芯片,他们控制接口卡进行工作;
② 主板上的接口芯片,cpu通过他们对部分外设进行访问;
③ 其他芯片,用来存储相关的系统消息,或进行相关的输入输出处理。
从cpu的角度,将这些寄存器都当做端口,对他们进行统一编址从而建立了一个统一的端口地址空间,每一个端口在地址空间中都有一个地址。
cpu可以直接读写以下三个地方的数据:
① cpu内部的寄存器;
② 内存单元;
③ 端口
在PC系统中,cpu最多可以定位64KB个不同的端口,则端口地址的范围为0~...
在PC机系统中,和cpu通过总线相连芯片除各种寄存器外,还有以下3种芯片:
① 各种接口卡上的接口芯片,他们控制接口卡进行工作;
② 主板上的接口芯片,cpu通过他们对部分外设进行访问;
③ 其他芯片,用来存储相关的系统消息,或进行相关的输入输出处理。
从cpu的角度,将这些寄存器都当做端口,对他们进行统一编址从而建立了一个统一的端口地址空间,每一个端口在地址空间中都有一个地址。
cpu可以直接读写以下三个地方的数据:
① cpu内部的寄存器;
② 内存单元;
③ 端口
在PC系统中,cpu最多可以定位64KB个不同的端口,则端口地址的范围为0~...
阅读全文 |
评论次数(1) |
浏览次数(222) |
所属类型(汇编笔记)
[2012-05-10 19:47] 实验14(动态)
assume cs:code
data segment
db "// :: " ;设置符号
db 9,8,7,4,2,0 ;设置端口单元号
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,13*160+2*30
mov cx,6 ;初始化各寄存器
time:push cx ...
data segment
db "// :: " ;设置符号
db 9,8,7,4,2,0 ;设置端口单元号
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,13*160+2*30
mov cx,6 ;初始化各寄存器
time:push cx ...
阅读全文 |
评论次数(7) |
浏览次数(670) |
所属类型(汇编作业)
[2012-05-10 19:45] 第十四章作业
第十四章
检测点14.1 读取写入CMOS RAM单元内容
(1)编程,读取CMOS RAM的2号单元内容。
assume cs:code
code segment
start: mov al,2 ;赋值al
out 70h,al ;将al送入端口70h
in al,71h ;从端口71h处读出单元内容
mov ax,4c00h
int 21h
code ends
end start
(2)编程,向CMOS RAM的2号单元写入0。
...
检测点14.1 读取写入CMOS RAM单元内容
(1)编程,读取CMOS RAM的2号单元内容。
assume cs:code
code segment
start: mov al,2 ;赋值al
out 70h,al ;将al送入端口70h
in al,71h ;从端口71h处读出单元内容
mov ax,4c00h
int 21h
code ends
end start
(2)编程,向CMOS RAM的2号单元写入0。
...
阅读全文 |
评论次数(1) |
浏览次数(268) |
所属类型(汇编作业)
[2012-05-07 09:36] 关于检测点13.1(1)的问题!
用中断例程代替loop指令功能,所能进行的最大位移是多少?
起初,我的思路是,因为bx的最大值是0FFFFH,所以我想应该是0FFFFH。
但是在今天复习的时候,突然灵光一线!
想到用前面的标号来减去后面的标号,其结果必然是负数。所以,最大位移为负数最大数。
那么,当bx为8000H时,为最大的负数,那么。最大位移就应该是-32768
我感觉这才是对的,希望各位同学和老师共同探讨研究哈!~~O(∩_∩)O~~...
起初,我的思路是,因为bx的最大值是0FFFFH,所以我想应该是0FFFFH。
但是在今天复习的时候,突然灵光一线!
想到用前面的标号来减去后面的标号,其结果必然是负数。所以,最大位移为负数最大数。
那么,当bx为8000H时,为最大的负数,那么。最大位移就应该是-32768
我感觉这才是对的,希望各位同学和老师共同探讨研究哈!~~O(∩_∩)O~~...
阅读全文 |
评论次数(6) |
浏览次数(256) |
所属类型(自娱自乐)
[2012-05-06 21:06] 第十三章笔记
第十三章 int指令
int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。
可以在程序中使用int指令调用任何一个中断的中断处理程序。
一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。
int指令和iret指令的配合使用与call指令和ret指令的配合使用具有相似的思路。
编写中断例程和子程序的时候,应该注意例程中用到的寄存器的值的保存和恢复。(成对编程)
可以利用iret指令,用栈中的内容修改cs、ip。
BIOS中主要包含以下几部分内容:
① 硬件系统的检测和初始化程序;
② 外部中断和内部中断的中断例程...
int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。
可以在程序中使用int指令调用任何一个中断的中断处理程序。
一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。
int指令和iret指令的配合使用与call指令和ret指令的配合使用具有相似的思路。
编写中断例程和子程序的时候,应该注意例程中用到的寄存器的值的保存和恢复。(成对编程)
可以利用iret指令,用栈中的内容修改cs、ip。
BIOS中主要包含以下几部分内容:
① 硬件系统的检测和初始化程序;
② 外部中断和内部中断的中断例程...
阅读全文 |
评论次数(2) |
浏览次数(231) |
所属类型(汇编笔记)
[2012-05-06 21:04] 实验十三(三)
分别在屏幕的第2、4、6、8行显示4句英文诗,补全代码。
assume cs:code
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s : dw offset s1,offset s2,offset s3,offset s4
row: db 2,4,6,8
start:mov ax,cs
mov ...
assume cs:code
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s : dw offset s1,offset s2,offset s3,offset s4
row: db 2,4,6,8
start:mov ax,cs
mov ...
阅读全文 |
评论次数(1) |
浏览次数(252) |
所属类型(汇编作业)