全球旧事资料 分类
间间接转移,由FARPTRReg指定的存储器操作数作为转移地址。在16位指令模式下,存储器操作数为32位,包括16位段基址和16位偏移地址。例359JMPFARPTRBX;数据段双字存储单元低字内容送IP;数据段双字存储单元高字内容送CS在32位指令模式下,存储器操作数包括16位选择符。JMPFARPTREAX例360指令中包含指向目标地址指针的门描述符或TSS描述符的指针,其所指的存储器操作数中仅选择符部分有效,指示调用门、任务门或TSS描述符起作用,而偏移部分不起作用。2条件转移指令该类指令是根据上一条指令对标志寄存器中标志位的影响来决定程序执行的流程,若满足指令规定的条件,则程序转移;否则程序顺序执行。条件转移指令的转移范围为段内短转移或段内近程转移,不允许段间转移。段内短转移short的转移偏移值范围为128127。段内近程转移,在16位指令模式下转移偏移值范围为,在32位指令模式下转移偏移值范围为
f。条件转移指令包括四类:单标志位条件转移;无符号数比较条件转移;带符号数比较条件转移;测试CX条件转移。格式:JccTARGET功能:若测试条件‘CC’为真,则转移到目标地址TARGET处执行程序。否则顺序执行。1单标志位条件转移指令,见表34。例361JZNEXT;若标志ZF1则转移到标号NEXT处执行。2无符号数比较条件转移,见表35。例362JANEXT;无符号数A与B比较,若AB则转移到标号NEXT处执行程序
表34单标志位条件转移指令
表35无符号数比较条件转移指令
表36带符号数比较条件转移指令
fJGNEXT;带符号数A与B比较,若AB则转移到标号NEXT。例3634测试CX条件转移,见表37。
表37测试CX条件转移指令
例364JCXZTARGET;CX0转移到标号TARGET处。JECXZTARGET;ECX0转移到标号TARGET处。条件转移指令一般紧跟在CMP或TEST指令之后,判断执行CMP或TEST指令对标志位的影响来决定是否转移。对标志位的影响例365符号函数
假设x为某值且存放在寄存器AL中,试编程将求出的函数值fx存放在AH中。MODELTINYCODESTARTUPCMPAL,0JGEBIGMOVAL,0FFHJMPDONEBIG:JEDONEMOVAL,1DONE:MOVAH,AL
fEXITEND例366编程实现把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。MODELTINYCODESTARTUPMOVCH,4AGAIN:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHORAL,30HCMPAL,3AHJBNEXTADDAL,07HNEXT:MOVDL,AL;DL←要显示的ASCII码MOVAH,2;显示INT21HDECCHJNZAGAINEXITEND二、循环控制指令这类指令用ECX计数器中的内容控制循环次数,先将循环计r
好听全球资料 返回顶部