汇编题目,求解:用移位、加法和传送指令编写程序段实现AL乘以19,结果存于AX中

汇编题目,求解:用移位、加法和传送指令编写程序段实现AL乘以19,结果存于AX中,第1张

; 本程序通过编译,运行正确。

Code Segment

Assume CS:Code,DS:Code

Start: mov al,79

mov cl,3

xor ah,ah ;ax高位字节置0

mov bx,ax ;保存ax

shl ax,1 ;ax2

mov dx,ax ;保存ax

shl ax,cl ;ax8,实现ax16

add ax,dx ;实现ax18

add ax,bx ;实现ax19

Exit_Proc: mov ah,4ch ;结束程序

int 21h

Code ENDS

END Start ;编译到此结束

;下列程序,已经通过测试,符合题目要求。

ORG 0000H

JMP MAIN

ORG 0030H

MAIN:

MOV SP, #70H

ORL PSW, #08H

MOV 00H, #07FH

MOV 01H, #0BFH

MOV 02H, #0DFH

MOV 03H, #0EFH

MOV 04H, #0F7H

MOV 05H, #0FBH

MOV 06H, #0FDH

MOV 07H, #0FEH

MOV R0, #0

MOV R1, #0

LOOP:

MOV P0, @R0

MOV P2, @R1

MOV A, P1

ORL A, #0FH

CPL A

JZ LOOP

CALL DELAY

MOV A, P1

ORL A, #0FH

CPL A

JZ LOOP

MOV B, A

W1:

MOV A, P1

ORL A, #0FH

CPL A

JNZ W1

JB B4, Z_R0

JB B5, J_R0

JB B6, Z_R1

JB B7, J_R1

JMP LOOP

Z_R0:

INC R0

ANL 08H, #07H

JMP LOOP

J_R0:

DEC R0

ANL 08H, #07H

JMP LOOP

Z_R1:

INC R1

ANL 09H, #07H

JMP LOOP

J_R1:

DEC R1

ANL 09H, #07H

JMP LOOP

DELAY:

MOV R6, #10

DJNZ R7, $

DJNZ R6, $ - 2

RET

END

SHL SHR SAL SAR RCR指令的格式是相同的:SHL dest,count

dest为目标 就是要位移的数据 count是位移的次数

状态位cf,sf,zf,pf随运算结果变化;OF的变化如下:当COUNT=1时,若位移前后dest的最高位不同时,则OF=1,否则OF=0;当COUNT>1时,OF不确定

我给你举个例子:MOV CL,1

MOV AL,21H

SHL AL,CL

AL=21H=00100001H 由于是左移1位,那么CF=0,AL=01000010,最高位是0,没有变 就是说OF=0

以上就是关于汇编题目,求解:用移位、加法和传送指令编写程序段实现AL乘以19,结果存于AX中全部的内容,包括:汇编题目,求解:用移位、加法和传送指令编写程序段实现AL乘以19,结果存于AX中、用汇编语言,用k1-k4控制LED移位(要求用汇编语言)、关于8086/8088汇编语言中的 移位指令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10088615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存