汇编语言中DA1 DB 04H DUP(3 DUP(2)

2021-01-05 18:54:57 字数 2200 阅读 5577

1楼:匿名用户

dup(3 dup (2), 2 dup (3))这是个dup的 "嵌套“。

1、dup指令的用法是: count dup (表达式,表达式,表达式,...)。

2、dup它有多种意义,包括linux c 函数、c语言函数dup、汇编指令、化学物质dup。

3、由dup返回的新文件描述符一定是当前可用文件描述中的最小数值。用dup2则可以用fd2参数指定新的描述符数值。

4、如果fd2已经打开,则先关闭。若fd1=fd2,则dup2返回fd2,而不关闭它。通常使用这两个系统调用来重定向一个打开的文件描述符。

汇编语言中da1 db 04h dup(3 dup(2),2 dup(3))什么意思

2楼:乐乐__乐乐

da1是这串内存的名字,也是首地址,db代表类型为byte,即8位的,区别于dw,dd,

dup 在汇编中是一条伪指令,用来重复初始化数据用法举例:

str1 db 10 dup ("!@#") ;这就是十个!@#这里就是嵌套的dup,04h就是转化成10进制就是4d,即把第一个dup后边的内容重复4遍,括号里也是一样,把2重复三遍,把3重复两遍,再把整体重复四遍,最终内存中分配的就是:

0010h

0010h

0010h

0011h

0011h 这五行在内存中重复4遍,da1指向这段内存的首地址

3楼:匿名用户

首先, n dup('...')表示重复()中的内容n次;

db 是伪指令,表示定义字节变量;

da1 db ... 表示定义的字节变量名为da1;

具体到 04h dup(3 dup(2),2 dup(3)) ,我们可以先解除里面的(),变成:

04h dup(2,2,2,3,3)然后再变成:

da1 db 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3

所以,其意思是:从名为da1的字节变量起,依次存放2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3, 2,2,2,3,3 这20个数。

4楼:匿名用户

相当于定义一些数据:

da1是名称

,db是定义字节,这个语句可以详细解释为:重复4遍 2,2,2,3,3.

即为da1 db 2,2,2,3,3,2,2,2,3,3,2,2,2,3,3,2,2,2,3,3;

5楼:匿名用户

dup(3 dup (2), 2 dup (3))这是个dup的 "嵌套(学过c的都会懂)" 调用。

dup指令的用法是: count dup (表达式,表达式,表达式,...)

因此,我们先看最里面3 dup(2),这个应该你能看懂吧,就是把2重覆两次

相应的2 dup(3)你也就懂了吧,

那么,再把最外层的dup(?,?)里面的参数做为一个数字,你也就能理解了吧。

汇编:db1 db 8 dup(2 dup(3),3 dup(2)) mov ax,word ptr db1 [04h] ax等多少,为什么?

6楼:匿名用户

db1 db 8 dup(2 dup(3),3 dup(2))抄 //即baidb1=03 03 02 02 02 (0303020202重复8次)

mov ax,word ptr db1 [04h]ax等多少,为du什么

ax应该zhi

等于db1从开始起第4个字节后的dao两个字节内容,即02注意,上面存一个3是占了一个字节的长度,即存进去的是03h

汇编语言:count db 80h, 'b',? maxint equ 04h number dw maxint array db maxint dup(3) mov cx,count d

7楼:嗯嗯de老鼠

array db maxint dup(3)

就是定义一个字节数组array,maxint是常量或者立即数,此处是常量 由前面定义得04h

即04dup(03)就表示从内 array的偏移地址开始 连续存容入maxint(即4个) 03h

8楼:匿名用户

请分行写好吗?这样谁也不知道你问的什么呀!