hello大家好我是吃个西瓜嘤,这篇节只总结微机原理常考填空题都是干货展示常出现的易错点以及微机原理注意事项。
以下仅代表个人发言 #微机原理
正文开始:
1,区分JZ,JNZ技巧
也就是D7=0用JZ;D7=1用JNZ。
JZ;条件ZF=1时跳 JNZ;条件ZF=0时跳L1:IN ....TEST AL,80HJZ L1;此时D7=0时转L1 L2:....TEST AL,80HJNZ L2;此时D7=1时转L2
2,x,y都是有符号单字节,那么x+y是否溢出?超范围就溢出,没超就不溢出。
(有符号数范围-128~+127)。
3,offset后面不能是寄存器,一定是变量或存储器寻址。
4,org后面是个偏移地址(也就是内存单元的地址或变量),不能是寄存器。
5,需要外部触发的只有1和5。
6,定义一个变量var,变量var的内容第一个字是0001H,第二个字是0002H,第三个字的内容是$+2,问第三个字0014H单元的内容是多少?答案是16H,已知var的有效地址(偏移地址)是0010H。
解:$指的是所定义的所有单元的下一个单元地址,$是0014H,$+2就是0016H,具体以下看图。
var-> | 01H |
00H | |
02H | |
00H | |
$+2-> | 16H |
$+2-> | 00H |
7,IP的变化只用于转移类指令才能变化。(像jmp、中断返回等)
8,DMA传送一定要用到DMA C控制器,也就是8237芯片。
9,DMA的传输过程简答需要记一下这个。
10,LEA BX,[DI]这条指令就是把DI的有效地址给BX,DI的有效地址就是DI的值EA=DI。
11,8259六十四级中断,也就是它能管理64个外设,得九级芯片级联。
12,CBW:符号扩展。功能是把al的字节扩展到ax也就是由8位扩展到16位。(其实就是把al8位在扩出符号8位放在ah中)
已知,ax=6789h,那么ah=67h,al=89h,执行cbw,问ax是多少?al是89h=1000 1001 符号位是1所以就扩出8个1=1111 1111 1000 1001也就是0FF89H。
13,还有一个指令是CWD是把字扩展到双字,字是ax得到dx,ax。
扩之前就看ax的最高位符号位是多少那么dx的十六位就是多少。
所以扩展前后真值数值大小不变,就是位数变长了。
14,在计算机中,一般用16进制表示的数值都是以补码的形式存在。
①补码变成真值,先补码变成原码,然后原码变成真值。
②真值变成补码,先真值转到原码,然后原码在变成补码。
15,8259只能管理外中断中的可屏蔽中断INTR。
8259管理的中断源叫向量中断。
中断源一个是向量中断一个是查询中断(非向量中断)两类。
向量中断一定是要通过中断响应信号来在INTA响应周期中传递中断类型码。
这里切记去看一下INTA的图。
16,下面展示以下单重中断和多重中断
多重中断在单重中断下加了一下部分
17,DRAM2164是64K×1=2的16次方×1
(1)DRAM并不是有A0~A15,而它的引脚上只有A0~A7。这是动态RAM和其他RAM不一样的脚,只用它的一半。
(2)2164有4个128×128的矩阵,刷新刷了128行2ms刷完,刷新期是2ms,而每行是128×4=512个单元。(即每次刷新512个单元)
(3)2164芯片有RAS#(行选线)和CAS#(列选线),在刷新的时候只选择了行选。
(4)在刷新时是读,读的情况下,数据不进数据总线。
18,一片8237内部有四个独立的通道四,每个通道一次传递的最大长度64K字节。
19,在64KB这个数多次出现它代表(88/86访问的接口)接口的范围,它代表段的范围,另外还代表内存程序当中的段最大,还代表DMA C芯片每一次进行数据传输的最大的信息量 。
64KB=2的16次方
20,异步串行传送方式:采取帧的格式,是由1位起始位(低电平),5到8位数据位,1位旧校验位,还有1到2位停止位。
bps就是波特(每秒二进制位),bps,即比特率、比特/秒、位/秒、每秒传送位数,数据传输速率的常用单位。 含义:文件大小(例如文本或图像文件)通常以字节(Byte)为单位。一字节对应八比特。
21,汇编语言程序:首先经过编辑形成一个asm文件,经过汇编Masm.exe的翻译软件,转为.obj目标二进制代码文件。然后再把目标二进制代码文件.obj经过链接Link.exe转成.exe(可执行文件)。
22,.c经过编译形成.exe(可执行文件)。
暂时更新到这里~
下期再见!~