汇编程序,以BUF为首地址的内容存单元中有1~15的平方表。查表求X单元中数(1~15之间)的平方值并送回X单元

汇编程序,以BUF为首地址的内容存单元中有1~15的平方表。查表求X单元中数(1~15之间)的平方值并送回X单元,第1张

;汇编程序,以BUF为首地址的内容存单元中有1~15的平方表。

;查表求X单元中数(1~15之间)的平方值并送回X单元

;

code segment

assume cs:code,ds:code

org 100h

start:

push cs

pop ds

lea bx,BUF ;BX指向表首

mov al,X

dec al ;偏移送AL

xlat ;查表

mov X,al ;平方值并送回X单元

mov ah,4ch

int 21h

BUF db 1,4,9,16,25,36,49,64,81,100,121,144,169,196,225

X db 8

code ends

end start

16和7是查表指令时的PC与数据表格之间的字节数

MOV A ,@R0 ;取R0指向的地址中的数据到A

ANL A,#0FH ;高四位清零

ADD A,#16 ;加16

MOVC A, @A+PC ;查表,表的首地址为绝对地址PC+A

MOVC A,@A+PC就需要1个字节啊

查表指令距离表首地址的长度是字节数

用DPTR的汇编程序:

ORG 0100H

MOV 30H,#12H

MOV 31H,#34H

MOV 32H,#56H

MOV 33H,#78H

LCALL SUBRTE

ORG 1000H

SUBRTE: MOV R0,#30H ; ;置地址指针R0初值

MOV R1,#40H ; ;置地址指针R1初值

MOV R2,#4 ; ;置字节数

LOOP: MOV A,@R0 ; ;取16进制数

ANL A,#0FH ; ;屏蔽高4位

MOV DPTR,#TABLE ; ;

MOVC A,@A+DPTR ; ;查表低4位转换为ASCⅡ码

MOV @R1,A ; ;送结果

INC R1 ; ;修改指针

MOV A,@R0 ; ;从新取16进制数

SWAP A ; ;高4位与低4位互换

ANL A,#0FH ; ;取高4位

ADD A,#7

MOVC A,@A+PC ; ;查表高4位转换为ASCⅡ码

MOV @R1,A

INC R0

INC R1

DJNZ R2,LOOP

DEC R1

RET

TABLE: DB '012345678'

DB '9ABCDEF'

END

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

    MOV 30H,#3

    MOV DPTR,#TAB

    MOV A,30H

    MOVC A,@A+DPTR

    MOV 31H,A

    SJMP $

TAB:

    DB 0,1,4,9,16,25,36,49,64,81

    END

这个是我写的,求的是平方的,楼主改一下数据段就好了

DATAS SEGMENT

TABLE DB 00H,01H,04H,09H,16H,25H,36H,49H,64H,81H

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV AH,07H

INT 21H

AND AL,0FH

MOV DL,AL

XOR DH,DH

MOV BX,OFFSET TABLE

ADD BX,DX

MOV AL,[BX]

MOV CL,04H

MOV BL,AL

SHR AL,CL

MOV DL,AL

ADD DL,30H

MOV AH,02H

INT 21H

AND BL,0FH

MOV DL,BL

ADD DL,30H

MOV AH,02H

INT 21H

MOV AH,4CH

INT 21H

CODES ENDS

END START

以上就是关于汇编程序,以BUF为首地址的内容存单元中有1~15的平方表。查表求X单元中数(1~15之间)的平方值并送回X单元全部的内容,包括:汇编程序,以BUF为首地址的内容存单元中有1~15的平方表。查表求X单元中数(1~15之间)的平方值并送回X单元、MCS-51单片机查表程序、采用汇编语言,设某一变量的数据保存在片内RAM的30H单元中,取值范围为00H-09H,编写一查表程序,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9273447.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存