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楼:匿名用户
请分行写好吗?这样谁也不知道你问的什么呀!