汇编语言问题:用PUSH指令将a段中的前8个字型数据,逆序存储到b段中

ASSUME CS:CODE
A SEGMENT
DW 1,2,3,4,5,6,7,8
A ENDS
B SEGMENT
DW 0,0,0,0,0,0,0,0
B ENDS
CODE SEGMENT
START:MOV AX,A
MOV DS,AX
MOV AX,B
MOV SS,AX
MOV SP,10H
MOV BX,0
MOV CX,8
S:PUSH [BX]
ADD BX,2
LOOP S
CODE ENDS
END START

问题:
为什么我编译的时候会出现 P2.ASM(3):Out of memory.?

第1个回答  推荐于2018-05-07

首先,我复制了你问题中的源程序代码,编译通过没问题。

查看你的截图发现,源程序中A、B两段的 DW 后面好像全部用的都是中文输入法的逗号,我在贴图的②处改成中文输入法逗号,结果跟你的错误一致(如图中黑框所示),问题应该就出在这里,请在源程序中改成半角英文输入法逗号即可

另外,为了规范源程序,最好在源程序开头加上贴图①处的内容(当然本程序不加也能通过编译,结果也正确)

本回答被提问者采纳
第2个回答  推荐于2017-12-16
MOV BX,0

;...
S:PUSH [BX]
ADD BX,2
LOOP S

;-------->

XOR SI,SI
;...
CLD
S:
LODSW
PUSH AX
LOOP S本回答被网友采纳

汇编语言问题:用PUSH指令将a段中的前8个字型数据,逆序存储到b段中
首先,我复制了你问题中的源程序代码,编译通过没问题。查看你的截图发现,源程序中A、B两段的 DW 后面好像全部用的都是中文输入法的逗号,我在贴图的②处改成中文输入法逗号,结果跟你的错误一致(如图中黑框所示),问题应该就出在这里,请在源程序中改成半角英文输入法逗号即可 另外,为了规范源...

用汇编语言编制一个 将内存BUFA单元存放的8个数字传送到BUFB单元中
使用MOVS指令,复制内存单元。DS:SI指向源,ES:DI指向目标 例:DATA SEGMENT BUFA db 'abcdefgh',0DH,0AH,'$'BUFB db 8 dup(?),0DH,0AH,'$'DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,8 MOV SI,OFFSE...

【汇编语言】实验5:编写、调试具有多个段的程序
6. 编写程序以使用push指令将a段的前8个字型数据逆序存储至b段。【1】在DOSBox中输入“d 076a:0000”查看data段数据,执行至“int 21h”后再次查看,data段数据不变。【2】输入指令“d 076a:0000”,执行至“int 21h”后再次查看,data段数据不变,此时DS=076A、SS=076B、CS=076C。【3】程...

汇编push逆序储存。
mov bx,0和mov ds:[bx],0是不同的 前者是把寄存器bx置为0 后者是内存单元赋值为0 目的操作数不同

Debug都有哪些命令啊?
Debug:A(汇编)直接将 8086\/8087\/8088 记忆码合并到内存。该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。a [address]参数address指定键入汇编语言指令的位置。对 address 使用十六进制值,并键入不以“h”字符结尾的...

请教8051汇编指令
数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。 [1]. 以累加器A...

汇编语言常用指令
A.定义变量:汇编语言中,变量的定义是通过伪指令来完成的;定义变量的伪指令格式如下:变量名 DB 表达式 ;定义字节变量,又称单字节变量(1个连续字节),DB-->BYTE变量名 DW 表达式 ;定义字变量,又称双字节变量(2个连续字节),DW-->WORD变量名 DD 表达式 ;定义双字变量,又称四字节变量(4个连续字节),DD-->...

怎么用汇编语言将数字组成的字符串转换成数值
PUSH CX (CX中保存的是实际有效字符数)DEC CX LEA SI,buf+2 (将SI指向字符串的首地址)d1: INC SI LOOP d1 (利用LOOP循环将到寄存器SI指向字符串的尾部,应该是倒数第二个字符)POP CX MOV DL,30h;MOV BL,10 MOV AX,1 d2: PUSH AX (将AX...

汇编语言是一种什么程序设计语言?
汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。...

汇编语言
14.不论是指令还是数据均以二进数代码形式存放在存储器中,试问计算机如何知道从存储器取出的是指令还是操作数?15.设(PC)=01H,(01H)=01011000B。如01011000B为传送指令的机器代码(前四位为操作码,后四位为地址码),其功能是将累加器A的内容送至存储器08H单元。根据图3试说明此指令从取出到执行的全过程。第...

相似回答