如果您知道如何组装,请帮助解释 STF 和 BUFF 有什么区别??

发布于 社会 2024-07-06
17个回答
  1. 匿名用户2024-01-30

    没有区别,只是变量名称不同。

    这一段。 tacks segment stackdw 128 dup(?)

    stacks ends

    有问题,改为:

    stacks segment stack

    dw 128 dup(?)

    stacks ends

    段落名称应上下一致。

    定义的变量是字节还是字取决于变量的用途,这里两者的dw和db是可以互换的,只要看在程序中使用哪一个更方便就行了。

  2. 匿名用户2024-01-29

    str1 db 5,6 dup(?)0dh,0ah,'$'

    和。 buf db 5,6 dup(?)0dh,0ah,'$'

    buf 和 str1 in 之间没有区别,两者都是表示缓冲区的名称。

    DB 与 DW

    堆栈段是用于堆叠的,你的程序是 16 位的,它的堆栈指针 sp 是 16 位的,所以你必须使用 dw

    数据段是以 db 还是 dw 为单位取决于程序的要求。

    它可以是 db 或 dw

  3. 匿名用户2024-01-28

    DB定义字节,DW定义字,DW可以代替DB,但DB不能代替DW。

  4. 匿名用户2024-01-27

    第一条指令将 buf 的地址发送给 bx,第二条指令是将 buf 的内容(地址)指向 bx 的地方的地址发送,在 C 语言中,第一条指令将指针发送到 *buf 的地址

    第二个是 **buf 发送 bx 的地址

  5. 匿名用户2024-01-26

    BUFF通常是buffer的缩写,即buffer,BUFF只是一个代号,通常用于缓冲寄存器,也可以叫它另一个名字,比如环冲。

  6. 匿名用户2024-01-25

    在数据段中定义:

    data segment 'code'

    buf db 'my name is tang wang he bian.$'

    data ends

    要显示的字符串必须以 $ 结尾,这是 DOS 函数调用函数编号 9 的规则。

  7. 匿名用户2024-01-24

    在 8086 汇编语言中,没有 buf。

    有人编写程序并随意定义子程序和变量的名称。 也许有这个。

  8. 匿名用户2024-01-23

    汇编语言中没有 buf 的等效定义。

    因此,您在此处显示的 buf 应该是在上一个数据段中定义的变量,例如:

    data segment

    buf db 100 dup(?)

    data ends

    您可以稍后使用此名称。

  9. 匿名用户2024-01-22

    是已定义的指示符的名称,但出现频率更高。

  10. 匿名用户2024-01-21

    CBW指令将Al的最高有效位扩展到AH,即,如果Al的最大有效位为0,则AH = 00;Al的最高有效位为1,则AH=不变,例如Al中的值为0F0H,CBW后,AX中的值为0FFF0H,MOV AX,Word PTR BUFF,是将两个字节以BUFF为地址,存储在AX中,如:

    buf db 30h,50h,70h

    mov ax 后,单词 ptr buf,ax 的值为 5030h

  11. 匿名用户2024-01-20

    我想将字节转换为单词:mov al,30 cbw,这是正确的。

    buf db 30

    mov ax,word ptr buf,这是读出一个单词,读出 buf 及其后面的字节。

    用一个单词阅读就是用两个字节阅读,而不是“将字节转换为单词”。

  12. 匿名用户2024-01-19

    为什么第二种方法不能? 什么情况。

  13. 匿名用户2024-01-18

    缓冲区中有四个要点:类型、缓冲区容量、元素数和元素。 例如 buf1 db6,?

    6 dup(?这意味着缓冲区的容量为 6 个(前 6 个),第一个问号是指用户在实际进程中输入的元素个数,但数量不能大于 5(最后一个单元被回车占用)。 紧随其后的是 input 元素。

    所以 buf1+1 指的是第一个问号,即缓冲区中元素的实际数量。

  14. 匿名用户2024-01-17

    ORG 1000h 从地址 bai1000h 执行。

    buf db 12h 定义了一个名为 buf du 的变量,初始值为 12

    lea bx, buf 将 buf 的地址发送到 bx 到 mov cx,bx bx 值 dao 到 CX

    lop:将 BX、2 BX 值加 2。 注意:LOP 是标识符,并在循环中跳转。

    该属使用 loop lop 跳到 lop 进行执行。 循环次数取决于 cx 的值。

    HLT 执行结果:bx = 3000

    因为在第三句话中给了 bx 的 buf 的偏移地址,并且 buf 的偏移地址是 1000,所以 bx 和 cx 的初始值都是 1000。 BX 在循环中只能添加 1000 次,所以是 3000 次。

  15. 匿名用户2024-01-16

    首先,Mov al,Buf

    mov al, [buf] 之间没有区别,后者是将变量 buf 的值发送给 al。 (buf 必须是以 db 为单位定义的字节变量)。

    如果要将 buf 的地址值存入 al,这是不可能的,因为 al 是 8 位,地址是 16 位。

    lea ax,buf

    或 mov ax, offset buf

  16. 匿名用户2024-01-15

    括号是一个地址,如果不在 AL 中指定数据,则地址放在 DS 数据段中,例如 buf=1 ok,实际上这个 mov al, [buf] 是 mov al, ds:[1]。

  17. 匿名用户2024-01-14

    mov al, buf+1

    mov al, [buf+1]

    两者是等价的,但它们的写法不同,地址 buf+1 的内容被发送到 al 寄存器。

    mov ax, offset buf 请注意,您不能写入 AL,因为 offset 使用 16 位地址。

    它是将 buf 变量的地址发送到 ax,而不是将 buf 地址的内容发送到 ax,注意两者之间的区别。

    mov al, buf+1,操作是用地址 buf+1 完成的,而不是地址 buf+1 的内容

    可能更容易将其理解为 mov al, buf[1]。

相关回答
9个回答2024-07-06

“$”是汇编语言中的预定义符号,等效于当前要装配到的段的当前偏移值。 >>>More

20个回答2024-07-06

这是没有原因的,第一只耳朵的**很薄,上面布满了丰富的血管,当大量的血液流过耳朵时,血管会扩张增厚,耳朵会发红,因为血液有一定的温度,所以你会觉得耳朵发烫。 >>>More

10个回答2024-07-06

一个你不明白的名字是一个好名字。

9个回答2024-07-06

飞蛾雪柳**缕缕,笑声中充满了暗淡的香味。 人群上千人寻找他,突然回头一看,但那个人在那里,灯光昏暗。

9个回答2024-07-06

你可能没有听说过一楼,“e language”=“easy language”。 >>>More