汇编语言
文章平均质量分 54
anqiqi疯狂暴走兔
没事就爱不开心
展开
-
第三章——指令系统和寻址方式
一.算术指令:计算的时候!注意给出的数据是补码还是原码!最好化为十进制检验计算结果。1.加法指令,影响标志位ADD,ADC,INC,除了INC不影响CF外,它们都影响条件标志位。源操作数是双精度数,存放在BX CX中,如何实现双精度加法?ADD AX,CXADC DX,BX2.减法指令,影响标志位SUB,SBB,DEC,NEG,CMP(执行减法,但不保存减法结果)减法的CF值反应无符号数的借位情况。如果有借位即减数>被减数即为1,否则即为0减法的OF值为1说明带符号数的减法溢出原创 2021-01-04 20:42:01 · 853 阅读 · 0 评论 -
第八章——输入输出程序设计
1.CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送?答:程序直接控制:CPU利用IN/OUT指令直接在端口级上处理输入输出。中断传送方式:CPU在执行程序的同时兼顾对I/O设备的控制或数据传送。当I/O设备准备好(空闲),由I/O通知CPU暂停正在运行的程序,转而处理I/O设备的请求,处理完即返回主程序继续执行。DMA传送方式:主要适用于高速I/O设备(如磁盘),CPU向I/O接口提供控制信息(如数据块的首地址及字节数),I/O设备直接和存储器进行成批数据的快速传送。2.8086的原创 2021-01-04 15:12:42 · 168 阅读 · 0 评论 -
第七章——宏定义
1.宏定义的参数:可以无变元可以是操作码变元可以是操作码的一部分,但是要用&做分隔符变元可以是ASCII串也用&做分隔符2.变元中的%3.LOCAL伪操作LOCAL伪操作的局部标号表中的每一个局部标号建立唯一的符号(用??0000~??FFFF)以代替在展开中存在的每一个局部标号。主要针对展开后对某个标号多次调用,出现标号的多重定义。思考:如果一个宏定义中有多个可能被多次调用的标号呢?LOCAL NEXT,OUT,EXIT 对于第一次调用宏用??0000取代NEXT,用?原创 2021-01-03 23:07:18 · 199 阅读 · 1 评论 -
第五章——循环与分支程序设计
例1:将BX寄存器的内容以十六进制形式显示出来code SEGMENT ASSUME CS:codestart: MOV CH, 4 ;字符个数rotate: MOV CL, 4 ;循环移位次数 ROL BX, CL ;取显示位的值 MOV AL, BL ;保存在AL中 AND AL, 0FH ;清除高4位 A原创 2021-01-03 17:15:10 · 239 阅读 · 0 评论 -
第四章——汇编语言程序格式
伪操作:1.定义字符串:3个及其以上的字符只能用DB定义。2.SEG,OFFSET只能对符号地址操作,形如mov ax,seg [bx]就是错的。3.数据定义及存储器分配伪操作:操作数可以是常数、表达式(可以由此计算出一个常数)、字符串。4.用DD伪操作存入地址时,第一个字为偏移地址,第二个字为段地址,形如DD_DATA DD DATA1。5.指令MOV BYTE_ARRAY+2,0是把BYTE_ARRAY数组第三个字节置为0,而不是第二个字节。因为ARRAY+2表示的是ARRAY[2]。6.表原创 2021-01-03 16:43:28 · 276 阅读 · 0 评论 -
哪些指令会影响标志位?
加法指令:ADD、ADC、INC、XADD(交换并相加)除了INC不影响CF标志位外,都影响条件标志位。CF、ZF、SF、OFCF最高位是否有进位DF若两个操作数符号相同而结果符号与之相反OF=1,否则OF=0.减法指令:SUB、SBB、DEC、NEG、CMP、CMPXCHG(比较并交换)、CMPXCHG8B前六种除了DEC不影响CF标志外都影响标志位。CMPXHG8B只影响ZF。CF说明无符号数相减的溢出,同时又确实是被减数最高有效位向高位的借位。OF位则说明带符号数的溢出无符号运算时原创 2021-01-01 21:24:21 · 6735 阅读 · 0 评论