在8086系統(tǒng)下,編寫(xiě)實(shí)現(xiàn)如下功能的程序段: (1)從地址為80H的端口中讀入一個(gè)字節(jié); (2)如果該字節(jié)最高位為“1”,則將字節(jié)0FFH送到地址為81H的端口中,并退出程序; (3)如果該字節(jié)最高位為“0”,則轉(zhuǎn)向第(1)步,繼續(xù)循環(huán)掃描。
指出以下指令執(zhí)行后,標(biāo)志寄存器OF、SF、ZF、AF、PF、CF的狀態(tài)。 (1)(AL)=0FFH,(BL)=20H,執(zhí)行指令:ADD AL,BL (2)(AL)=01H, (BL)=02H,執(zhí)行指令:CMP AL,BL (3)(AL)=0FFH,執(zhí)行指令:INC AL (4)(AL)=0,執(zhí)行指令:DEC AL (5)(AL)=0F0H,(BL)=04H,執(zhí)行指令:IMUL BL (6)(AX)=1F0H,(BL)=08H,執(zhí)行指令:DIV BL (7)(AL)=12H, (BL)=34H,執(zhí)行指令:TEST AL,BL (8)(AL)=98H,執(zhí)行指令:SAL AL,1
利用移位指令編寫(xiě)程序段,實(shí)現(xiàn)以下運(yùn)算。 (1)計(jì)算AX←AX*10,其中AX為無(wú)符號(hào)數(shù); (2)32位帶符號(hào)數(shù)存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位計(jì)算(DX,AX)←(DX,AX)*2。 (3)32位帶符號(hào)數(shù)存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位計(jì)算(DX,AX)←(DX,AX)/2。