第三章 寄存器(内存访问)
P57 CPU中用16位寄存器存1个字.高8位存放高位字节,低8位存放低位字节.在内存中时,由于内存单元是字节单元,刚一个字要用2个地址连续的内存单元来存放,字的低位字节存在低地址单元.
以后课程中,我们将超始地址为N的字单元简称为N地址字单元
P59 MOV 寄存器名,内存单元地址 :如 MOV AL,[0]
[..]表示一个内存单元,[..]中的0表示内存单元的偏移霸. CPU自动取DS中的数据为内存单元的段地址.CPU不支持将数据直接送入段寄存器
P59 字的传送 只要在MOV指令中给出16位寄存器就可以进行16位数据传送了....


- [parse] Linux实在是让人又爱又恨:爱的是任何有勇气探索者都可以鼓捣它,恨的是它的系统表现实在是让人难以恭 02/17 20:55
- [rotapple] 过中秋,加上玩了几天游戏,我的程序丢在一边很多天了。 这两天把它写完了。偏移修正也加完了。 现在 09/15 16:22
- [rotapple] 我的意思是这样: proc_a: push ax push bx s: 09/15 16:19
- [chaplinyip] 好像也过了十几天,对这代码好像有点陌生。 不过我试过从显示时间返回至主菜单来回几十次也没发生什 09/09 23:55
- [chaplinyip] 不要急,忙则乱,心平气和一定会有解决之道。一开始写没必要把所有细节都考虑好,可以先大概弄出一个较粗糙 09/09 22:59
- [rotapple] 1 lp 2 mov ax,0 3 mov bx,0 4 jmp short l 09/08 18:36
- [rotapple] 重新跳回main会不会好点?因为重设了ss 09/08 18:25
- [rotapple] 我也不知道到底是不是这么个运行过程。 是同时发生吗? 还是怎样的顺序?? 09/08 18:21
- [rotapple] 我的程序完成了70%左右。只有设置时间没写了。 我写的时候解决了一个重大问题,就是从显示时间返回至 09/08 18:15
- [rotapple] OK,明白。 09/05 10:39
[2009-06-21 15:36] 第3章笔记
阅读全文 |
作者:zdpopup |
评论次数(0) |
浏览次数(643)
[2007-10-20 19:09] 一个感染 com 的病毒
日久见人心,才没几天。。。偶手又痒了。。。。。在看完一个感染com文件的病毒激动万分的时候,偶决定要为这个“病毒”写点东西,也算对得起它吧,估计又该有某某大叫头疼了,但思路却是相同的,每个人,每件事,对么? 好了开始。。。。
介绍下这个病毒的结构,这个病毒是感染com文件的(古老的一种文件格式,但是很简单),由于是实模式下的,所以我们就可以添删com而不用担心别的事情,程序有感染的代码,有破坏的代码,因为没有自动查找的代码程序暂时只能感染test.com这个co并删除del.txt这个文件,但有点不爽的是这个程序没有判断是否已经感染,结果就造成重复感染,有兴趣的可以加上这...
介绍下这个病毒的结构,这个病毒是感染com文件的(古老的一种文件格式,但是很简单),由于是实模式下的,所以我们就可以添删com而不用担心别的事情,程序有感染的代码,有破坏的代码,因为没有自动查找的代码程序暂时只能感染test.com这个co并删除del.txt这个文件,但有点不爽的是这个程序没有判断是否已经感染,结果就造成重复感染,有兴趣的可以加上这...
阅读全文 |
作者:mnzn2530 |
评论次数(6) |
浏览次数(2569)
[2010-01-29 19:49] DOS中断大全
DOS中断:
1、字符功能调用类(Character-Oriented Function)
01H、07H和08H —从标准输入设备输入字符
02H —字符输出
03H —辅助设备的输入
04H —辅助设备的输出
05H —打印输出
06H —控制台输入/输出
09H —显示字符串
0AH — 键盘缓冲输入
0BH —检测输入状态
0CH —清输入缓冲区的输入功能
(1)、功能01H、07H和08H
功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一
直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无
法判断...
1、字符功能调用类(Character-Oriented Function)
01H、07H和08H —从标准输入设备输入字符
02H —字符输出
03H —辅助设备的输入
04H —辅助设备的输出
05H —打印输出
06H —控制台输入/输出
09H —显示字符串
0AH — 键盘缓冲输入
0BH —检测输入状态
0CH —清输入缓冲区的输入功能
(1)、功能01H、07H和08H
功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一
直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无
法判断...
阅读全文 |
作者:lcf20092009 |
评论次数(0) |
浏览次数(1440)
[2010-01-29 19:49] BOS中断大全
BIOS中断:
1、显示服务(Video Service——INT 10H)
00H —设置显示器模式0CH —写图形象素
01H —设置光标形状0DH —读图形象素
02H —设置光标位置0EH —在Teletype模式下显示字符
03H —读取光标信息0FH —读取显示器模式
04H —读取光笔位置10H —颜色
05H —设置显示页11H —字体
06H、07H —初始化或滚屏12H —显示器的配置
08H —读光标处的字符及其属性13H —在Teletype模式下显示字符串
09H —在光标处按指定属性显示字符1AH —读取/设置显示组合编码
0AH —在当前光...
1、显示服务(Video Service——INT 10H)
00H —设置显示器模式0CH —写图形象素
01H —设置光标形状0DH —读图形象素
02H —设置光标位置0EH —在Teletype模式下显示字符
03H —读取光标信息0FH —读取显示器模式
04H —读取光笔位置10H —颜色
05H —设置显示页11H —字体
06H、07H —初始化或滚屏12H —显示器的配置
08H —读光标处的字符及其属性13H —在Teletype模式下显示字符串
09H —在光标处按指定属性显示字符1AH —读取/设置显示组合编码
0AH —在当前光...
阅读全文 |
作者:lcf20092009 |
评论次数(1) |
浏览次数(1698)
[2008-09-17 12:04] 关于无符号和有符号数的解释(转)
一、只有一个标准!
在汇编语言层面,声明变量的时候,没有 signed 和 unsignde 之分,汇编器统统,将你输入的整数字面量当作有符号数处理成补码存入到 计算机中,只有这一个标准!汇编器不会区分有符号还是无符号然后用两个标准来处理,它统统当作有符号的!并且统统汇编成补码!也就是说,db -20 汇 编后为:EC ,而 db 236 汇编后也为 EC 。这里有一个小问题,思考深入的朋友会发现,db 是分配一个字节,那么一个字节能表示的有符号整 数范围是:-128 ~ +127 ,那么 db 236 超过了这一范围,怎么可以?是的,+236 的补码的确超出了一个字节的表示范围,...
在汇编语言层面,声明变量的时候,没有 signed 和 unsignde 之分,汇编器统统,将你输入的整数字面量当作有符号数处理成补码存入到 计算机中,只有这一个标准!汇编器不会区分有符号还是无符号然后用两个标准来处理,它统统当作有符号的!并且统统汇编成补码!也就是说,db -20 汇 编后为:EC ,而 db 236 汇编后也为 EC 。这里有一个小问题,思考深入的朋友会发现,db 是分配一个字节,那么一个字节能表示的有符号整 数范围是:-128 ~ +127 ,那么 db 236 超过了这一范围,怎么可以?是的,+236 的补码的确超出了一个字节的表示范围,...
阅读全文 |
作者:musicvs |
评论次数(0) |
浏览次数(1056)
[2009-03-25 15:15] [转]CMOS RAM内存空间解析(64B)
64个字节的CMOS RAM是比较早期的机器所使用的,比如PC/AT、286、386、486等微机,由于其当时的技术原因,该种机型的存储空间较小,因此对内存、硬盘的容量等参数的记录所用的CMOS RAM单元空间也少,加之其他原因,64个字节就基本上能满足需要了,当然如今所用的机器的CMOS RAM均已是128或256个字节的了。但为与原来的保持兼容,各BIOS厂商都将自己的BIOS中关于CMOS RAM的前64字节内容的设置统一与MC146818A的CMOS RAM格式 一致,而在扩展出来的部分加入自己的特殊设置,所以不同厂家的内容都不一样,所以BIOS芯片一般不能互换。
CMOS...
CMOS...
阅读全文 |
作者:younggay |
评论次数(0) |
浏览次数(1895)
[2008-04-16 13:53] 给大家介绍两个windows下的汇编工具
不知道大家用的是什么工具?我现在用的是Visual Assembly 2006,它集成了编辑器,编译器等功能,写汇编程序不再用跑到DOS下去了,直接在xp下就可以完成。编译也不再用手工输入了,直接点击就可以帮你完成编译。编辑时支持语法高亮,方便查错。实在是不错的一个工具。且是绿色免安装版的,惟一要注意的是,不能把它放在文件夹名有空格的文件夹里。见上图
下面贴出链接:http://www.fs2you.com/files/bf706dcf-0b70-11dd-ba07-0014221b798a/
还有一个叫Emu8086.v3.07c汉化云龙绿化版,因为没用过,没有发言权,不过好像也蛮...
下面贴出链接:http://www.fs2you.com/files/bf706dcf-0b70-11dd-ba07-0014221b798a/
还有一个叫Emu8086.v3.07c汉化云龙绿化版,因为没用过,没有发言权,不过好像也蛮...
阅读全文 |
作者:duckgaga |
评论次数(3) |
浏览次数(1434)
[2008-04-19 22:26] 新手应该知道的指令“禁忌”(待续)
*数据传送指令
说到数据传送指令,恐怕就会让人一下子想到大名鼎鼎的mov指令了,不过它的“禁忌”也是最多的哦。
1)不能在两个内存单元之间直接进行数据传送。
2)两个段寄存器之间不允许数据的直接传送,立即数不能直接送到段寄存器,在这些情况下都要用通用 寄存器来过渡
3)立即数、代码段寄存器CS和指令指针寄存器IP不能作为目的操作数。(注:若汇编指令有两个操作数 时,前面那个是目的操作数,后面那个是源操作数,这一点要记住)
4)用BX、SI、DI间接寻址时,默认的段寄存器是DS,用BP间接寻址时,默认的段寄存器是SS。但是,必 要时可以使用段超越的方式进行寻址,如ds:[b...
说到数据传送指令,恐怕就会让人一下子想到大名鼎鼎的mov指令了,不过它的“禁忌”也是最多的哦。
1)不能在两个内存单元之间直接进行数据传送。
2)两个段寄存器之间不允许数据的直接传送,立即数不能直接送到段寄存器,在这些情况下都要用通用 寄存器来过渡
3)立即数、代码段寄存器CS和指令指针寄存器IP不能作为目的操作数。(注:若汇编指令有两个操作数 时,前面那个是目的操作数,后面那个是源操作数,这一点要记住)
4)用BX、SI、DI间接寻址时,默认的段寄存器是DS,用BP间接寻址时,默认的段寄存器是SS。但是,必 要时可以使用段超越的方式进行寻址,如ds:[b...
阅读全文 |
作者:duckgaga |
评论次数(11) |
浏览次数(2164)
[2008-03-19 15:58] 用cpu-z得到的自已电脑中的基本信息(留着以后有用)
-------------------------
CPU-Z 版本 1.44.1
-------------------------
处理器映射
------------------------------------------------------------------------------------
处理器数目 1
线程数 1
处理器 0
-- 核心 0
-- 线程 0
处理器信息
----------------------------------------------------------------...
CPU-Z 版本 1.44.1
-------------------------
处理器映射
------------------------------------------------------------------------------------
处理器数目 1
线程数 1
处理器 0
-- 核心 0
-- 线程 0
处理器信息
----------------------------------------------------------------...
阅读全文 |
作者:negatlov |
评论次数(2) |
浏览次数(2414)
[2008-03-19 18:23] C语言指针
摘录的别人的:
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标 准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可 以说是相反的。右左法则的英文原文是这样说的:
The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you ...
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标 准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可 以说是相反的。右左法则的英文原文是这样说的:
The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you ...
阅读全文 |
作者:negatlov |
评论次数(1) |
浏览次数(2239)
[2007-12-12 18:49] 转载文章:逻辑运算指令(来自晓坤Blog)
逻辑运算指令(来自晓坤Blog)
逻辑运算均是按位进行操作,真值表如下:
AND (位与&) OR ( 位或| ) XOR ( 位异或^ )
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
A:逻辑运算指令
AND (and) 逻辑与指令
AND DST , SRC //Byte/Word
执行操作:dst = dst & src
指令的功能是把源操作数中的...
逻辑运算均是按位进行操作,真值表如下:
AND (位与&) OR ( 位或| ) XOR ( 位异或^ )
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
A:逻辑运算指令
AND (and) 逻辑与指令
AND DST , SRC //Byte/Word
执行操作:dst = dst & src
指令的功能是把源操作数中的...
阅读全文 |
作者:goal00001111 |
评论次数(0) |
浏览次数(596)
[2007-12-24 21:16] 转载文章:什么是中断,为什么要用中断?(来自蹩脚馒头的blog)
转载文章:什么是中断,为什么要用中断?(来自蹩脚馒头的blog)
一、中断是什么
中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?
举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊 等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于是慌慌张张的冲向水管, 三下两下关了龙头,声音又传到耳边,“怎么干什么都是这么马虎?”。伸伸舌头,这件小事就这么过去了,我...
一、中断是什么
中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?
举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊 等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于是慌慌张张的冲向水管, 三下两下关了龙头,声音又传到耳边,“怎么干什么都是这么马虎?”。伸伸舌头,这件小事就这么过去了,我...
阅读全文 |
作者:goal00001111 |
评论次数(7) |
浏览次数(1602)
[2008-06-16 07:10] 二进制在数学中的妙用
二进制在数学中的妙用
goal00001111搜集整理
十八世纪初,莱布尼茨发明了二进制数,当时的他肯定没有预料到二进制在信息时代会有着如此广泛的应用。二进制数以其工作可靠,运算简单,逻辑严密,容易实现等特点,成为了计算机的专用语言。在计算机科学和大量应用数学领域中,二进制记数法是必不可少的。在趣味数学方面,同样也有广泛的应用。
让我们先来看一个经典的数学趣题:
一工人工作7天,老板有一段黄金,每天要给工人1/7的黄金作为工资,老板只能切这段黄金2刀,请问怎样切才能每天都给工人1/7的黄金?
这题不简单吧?小心别把脑子都想破了。
在给出答案之前,先让我们看另一个简单的例子: ...
goal00001111搜集整理
十八世纪初,莱布尼茨发明了二进制数,当时的他肯定没有预料到二进制在信息时代会有着如此广泛的应用。二进制数以其工作可靠,运算简单,逻辑严密,容易实现等特点,成为了计算机的专用语言。在计算机科学和大量应用数学领域中,二进制记数法是必不可少的。在趣味数学方面,同样也有广泛的应用。
让我们先来看一个经典的数学趣题:
一工人工作7天,老板有一段黄金,每天要给工人1/7的黄金作为工资,老板只能切这段黄金2刀,请问怎样切才能每天都给工人1/7的黄金?
这题不简单吧?小心别把脑子都想破了。
在给出答案之前,先让我们看另一个简单的例子: ...
阅读全文 |
作者:goal00001111 |
评论次数(1) |
浏览次数(1713)
页码数(1):
1