


- [fpamc] 共勉……同达…… 06/03 20:16
- [yahwei] 我相信你会达成你梦想,坚信! 06/03 20:14
- [fpamc] 呵呵,我们这下雷阵冰雹雨了…… 我呢,也接触过按键精灵,但是呢,没有坚持下来反而被游戏拉了进去 06/03 14:43
- [yahwei] 不用ORG还是搞不定啊,zhujinwc师兄……call word ptr table[bx]应该改 05/25 13:43
- [zhujinwu] 楼主的程序中有3个地方需要修改一下: 1、在设置中断向量的时候,没有用“org 200h”的时候, 05/24 22:04
- [fpamc] 花了我12个小时…… 呵呵,谢谢支持哈!~O(∩_∩)O 05/24 13:30
- [yahwei] 你也完成第十六章了啊,效率很高哦,我蛮喜欢看你总结的笔记,呵呵。 05/24 13:16
- [fpamc] 哇咔咔~串了个门@(一-一)@ 05/24 07:43
- [dxiaolin] 顶顶更健康 05/23 21:20
- [dxiaolin] 回复不显示图片 http://www.asmedu.net/blog/user/bigimg.js 05/23 12:57
- [gnunix] 一起战斗!坚持到最后,加油! 05/12 18:24
[2012-05-21 13:20] P294 16.3 关于例题二的补充
题目虽然完成,但个人并不满意,总觉得有更好的方法,这几天在看另一本关于汇编的书,总结性比较强,和王爽老师的这本教材刚好互补。
这题按题目要求加了判断角度范围的代码,如果不在给定的集合之内,则显示一行提示信息并退出程序。
关于指令table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180的补充知识:
变量定义格式:[变量名] 数据定义伪指令 表达式[,……]
首先,汇编语言中的符号常量名、变量名、段名、过程名、标号都称为标识符。标识符是由字母、数字(0-9)、特殊字符(?、.、@、_、$)组成的字符串,但该字符串不能以数字或下划线‘_’作为...
这题按题目要求加了判断角度范围的代码,如果不在给定的集合之内,则显示一行提示信息并退出程序。
关于指令table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180的补充知识:
变量定义格式:[变量名] 数据定义伪指令 表达式[,……]
首先,汇编语言中的符号常量名、变量名、段名、过程名、标号都称为标识符。标识符是由字母、数字(0-9)、特殊字符(?、.、@、_、$)组成的字符串,但该字符串不能以数字或下划线‘_’作为...
阅读全文 |
评论次数(4) |
浏览次数(718) |
所属类型(笔记)
[2012-05-18 21:54] P292 16.3 直接定址表中的例题扩展
;编写子程序,以十六进制的形式在屏幕中间显示给定的字节型数据
;书上的例子是8位的,我改成了16位的,具体实现的细节也用了不同的方法
assume cs:code,ds:data
data segment
a db '0123456789ABCDEF'
data ends
code segment
start:
mov ax,data
mov ds,ax ;设置数据段
mov ax,0b800h
mov es,ax
mov di,160*12+36*2 ;设置显示区首地址
mov ax,0a8d7h ;AX中存放要显示的数据
mov s...
;书上的例子是8位的,我改成了16位的,具体实现的细节也用了不同的方法
assume cs:code,ds:data
data segment
a db '0123456789ABCDEF'
data ends
code segment
start:
mov ax,data
mov ds,ax ;设置数据段
mov ax,0b800h
mov es,ax
mov di,160*12+36*2 ;设置显示区首地址
mov ax,0a8d7h ;AX中存放要显示的数据
mov s...
阅读全文 |
评论次数(4) |
浏览次数(714) |
所属类型(笔记)
[2012-05-10 19:43] 标志寄存器--摘自《16-32位宏汇编语言程序设计》
一、条件标志
(1)符号标志SF
在计算机中, 带符号数都采用补码表示,其最高位为符号位。SF用来标识指令运算结果的正负,置位的方法是:在执行完一条指令后,若运算结果的最高位为1,说明运算结果为负,SF=1;否则,结果为正,SF=0。
(2)零标志ZF
若运算结果为0,则ZF=1,否则,ZF=0。
(3)溢出标志OF
由于计算机字长的限制,它只能表示一定范围内的数。对字节运算,只能在-128~127之间,对字运算,只能在-32768~32767之间,超过这个范围则为溢出。当运算结果溢出时OF=1;无溢出时OF=0。
正数与负数相加,不可能溢出。
正数与正数相加,如果结果为负数则...
(1)符号标志SF
在计算机中, 带符号数都采用补码表示,其最高位为符号位。SF用来标识指令运算结果的正负,置位的方法是:在执行完一条指令后,若运算结果的最高位为1,说明运算结果为负,SF=1;否则,结果为正,SF=0。
(2)零标志ZF
若运算结果为0,则ZF=1,否则,ZF=0。
(3)溢出标志OF
由于计算机字长的限制,它只能表示一定范围内的数。对字节运算,只能在-128~127之间,对字运算,只能在-32768~32767之间,超过这个范围则为溢出。当运算结果溢出时OF=1;无溢出时OF=0。
正数与负数相加,不可能溢出。
正数与正数相加,如果结果为负数则...
阅读全文 |
评论次数(8) |
浏览次数(249) |
所属类型(笔记)
[2012-04-17 21:35] 第十章笔记
ret 修改IP,实现近转移
call 标号(与ret对应使用)
retf 修改CS和IP,实现远转移
call far ptr 标号(与retf对应使用)
call 16位reg(转移地址在寄存器中)
call word ptr 内存单元地址(近转移)
call dword ptr 内存单元地址(远转移)...
call 标号(与ret对应使用)
retf 修改CS和IP,实现远转移
call far ptr 标号(与retf对应使用)
call 16位reg(转移地址在寄存器中)
call word ptr 内存单元地址(近转移)
call dword ptr 内存单元地址(远转移)...
阅读全文 |
评论次数(2) |
浏览次数(205) |
所属类型(笔记)
[2012-03-15 17:53] 2012.3.15日通过第九章检测题……
做记号,记录学习进度……
根据位移进行转移的指令:(段内转移)
jmp short 标号(-128~127)
jmp near ptr 标号(-32768~32767)
jmp 标号
直接给出转移地址的指令:(段间转移)
jmp far ptr 标号
(CS=标号所在段的段地址,IP=标号的偏移地址)
转移地址在寄存器中的指令:
jmp 寄存器名(段内转移,仅修改IP的值)
转移地址在内存单元中的指令:
jmp word ptr [X](段内转移,用[X]修改IP的值)
jmp dword ptr [X](段间转移,用[X]修改IP的值,用[X+2]修改CS...
根据位移进行转移的指令:(段内转移)
jmp short 标号(-128~127)
jmp near ptr 标号(-32768~32767)
jmp 标号
直接给出转移地址的指令:(段间转移)
jmp far ptr 标号
(CS=标号所在段的段地址,IP=标号的偏移地址)
转移地址在寄存器中的指令:
jmp 寄存器名(段内转移,仅修改IP的值)
转移地址在内存单元中的指令:
jmp word ptr [X](段内转移,用[X]修改IP的值)
jmp dword ptr [X](段间转移,用[X]修改IP的值,用[X+2]修改CS...
阅读全文 |
评论次数(1) |
浏览次数(260) |
所属类型(笔记)
[2012-03-06 20:02] 第七章小记
花两天时间学完了第七章,线上的检测题虽然一次就通过了,但有一题是靠排除法选的答案,感觉还有很多知识点没理解透彻。写个小结,自己给自己加油吧……努力……...
阅读全文 |
评论次数(1) |
浏览次数(258) |
所属类型(笔记)
页码数(1):
1