20180906 发表于 2018-9-17 13:16:11

书上第158页 问题7.9


assume cs:codesg,ds:datasg,ss:stacksg

datasg segment
      db '1. display      '
      db '2. brows      '
      db '3. replace      '
      db '4. modify       '
datasg ends

stacksg segment
      dw 10 dup(0)
stacksg ends

codesg segment
start:
                mov ax,datasg
                mov ds,ax
                mov ax,stacksg
                mov ss,ax
                mov sp,20H
               
                mov bx,0
                mov cx,4
      s1: mov si,0
                push cx
                mov cx,4
                mov ah,0
      s2: mov al,byte ptr;为什么一定要加byte ptr,不是可以根据寄存器判断处理的长度吗
                and al,11011111b
                mov byte ptr,al
                inc si
                loop s2
               
                pop cx
                add bx,16
                loop s1
               
                mov ax,4c00h
                int 21h
               
codesg ends
end start

问题在上面的注释中,为什么一定要在mov al,这条语句前面加上byte ptr来指明这是一个字节型数据,不然就会报错A2070

claws0n 发表于 2018-9-17 13:36:26

主要是立即数 3,要说明

人造人 发表于 2018-9-17 14:04:27

mov        al,

20180906 发表于 2018-9-17 14:14:32

人造人 发表于 2018-9-17 14:04


常数不是放那里都可以吗

20180906 发表于 2018-9-17 14:15:13

claws0n 发表于 2018-9-17 13:36
主要是立即数 3,要说明

可以这样使用吧,我记得

人造人 发表于 2018-9-17 14:17:24

20180906 发表于 2018-9-17 14:14
常数不是放那里都可以吗

立即数放在后面
mov 寄存器, [寄存器 + 寄存器 + 立即数]

20180906 发表于 2018-9-17 14:25:16

人造人 发表于 2018-9-17 14:17
立即数放在后面
mov 寄存器, [寄存器 + 寄存器 + 立即数]

应该不是这个问题吧,我在书上第151页倒数第三行看见了我这种用法,
mov bc,

20180906 发表于 2018-9-17 14:26:30

人造人 发表于 2018-9-17 14:17
立即数放在后面
mov 寄存器, [寄存器 + 寄存器 + 立即数]

而且我另外一个帖子,就是实验七这样写也没有报错,只是运行不出来,大佬能不能一并帮我看看

claws0n 发表于 2018-9-17 14:27:25

人造人 发表于 2018-9-17 14:17
立即数放在后面
mov 寄存器, [寄存器 + 寄存器 + 立即数]

都可以吧,最后也会得到累加后的偏移地址

claws0n 发表于 2018-9-17 14:50:58

甲鱼零基础汇编,39集,12:49,针对立即数的修饰

20180906 发表于 2018-9-17 15:19:29

已经解决了,我发现如果是mov 寄存器,,后面[]中的内容顺序可以是随意的(我记得小甲鱼讲过,我笔记上有)。主要问题在于前面的寄存器只能是ax或者bx这样的通用寄存器。
其实这一点小甲鱼视频里面也有说到(提了一下),还是看视频的时候没太注意。刚刚又去看了一遍,就听到了,实验了之后发现应该是这个问题。你们可以自己试试哈。
谢谢大家帮忙!!
页: [1]
查看完整版本: 书上第158页 问题7.9