导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→漂亮妹妹看过来[sandrawan]

 *第20628篇: 漂亮妹妹看过来

  
楼 主:sandrawan 2004年3月31日13:05
 漂亮妹妹看过来

有两个关于8086/8088汇编语言的伪指令问题请诸位帅哥指教:
数据定义伪指令
   格式为:  <变量名>  DB  <表达式>      
             <变量名>  DW  <表达式>  
             <变量名>  DD  <表达式>  
             <变量名>  DQ  <表达式>  
             <变量名>  DT  <表达式>  
   功能为:数据定义伪指令可以把其后定义的数据存入指定的存储单元,或者只分配存储器空间而并不存入确定的数据。
   DB、DW、DD、DQ、DT伪指令分别用来定义字节、字、双字、四字和五字,被说明的每个操作符分别占有一个字节、两个字节、四个字节、八个字节和十个字节。
   关于此伪指令我们还要注意以下几点:
   1):所定义的操作数可以是常数或表达式;
   2):所定义的操作数可以是字符串;
   3):所定义的操作数可以是?,表示保留存储空间,但不存入数据;
   4):所定义的操作数可以用复制操作符来复制的某些操作数.
   例:
      XXX  DB  10,20
      STR   DB  ‘ABC’
      DEF   DW  ?,288
      ARRAR DB 30 DUP(?)
      ARRA  DW 20 DUP(0)

问:
1.XXX声明为一单字节变量,为什么后面附了10,20两个值?
2.STR声明为一单字节变量,为什么后面附了一个字符串ABC?

  
2楼:Kuang-chingTsui 2004年3月31日13:29
 再让你骗一次
xxx db 10,20 表示地址为xxx的单元被赋初值10,它的后续单元xxx+1 赋初值20(同时定义了两个字节。同样, str db 'abc"表示定义了以str为起始地址的连续三个字节为一个三字符的串变量,初值为abc。
  
3楼:Sandrawan 2004年3月31日13:58
 楼上的同志请注意
其实我也是这样认为,但是执行这样一条指令:

MOV AX,XXX

之后AX中是两个字节,还是一个字节的内容?

  
4楼:Kuang-chingTsui 2004年3月31日14:02
 one byte
  
5楼:Sandrawan 2004年3月31日14:09
 楼上同志看过来
那我要得到后面一个字节该如何寻址?
怎样得到后面一个字节的地址?
  
6楼:Kuang-chingTsui 2004年3月31日14:14
 先执行一个XXX+1等效操作,
  
7楼:Sandrawan 2004年3月31日14:18
 楼上同志向下看
能把语句写出来吗?
  
8楼:Kuang-chingTsui 2004年3月31日14:49
 看看书
  
9楼:Sandrawan 2004年3月31日15:27
 楼上的
让你写代码就漏底了吧,看书你也不会明白的
  
10楼:Kuang-chingTsui 2004年3月31日15:45
 希望你真明白就好。
  
11楼:guest 2004年4月1日09:36
 以后大家别理这娘们(?),真是啥也不懂,还没礼貌。
想抬扛长学问?娘西屁!除非他改了那个倒霉的名字:sandraman 


  
12楼:Sandrawan 2004年4月1日10:46
 你是男人就请将我问的问题回答清楚,其他的话不要说,骂我就等于骂你自己
  
13楼:guest 2004年4月1日14:39
 你这个臭娘门,抽你,一天到晚在老古放屁!
你这个臭娘门,抽你,一天到晚在老古放屁!滚!!!!
  
14楼:guest 2004年4月2日08:54
 很好理解的
XXX是定义开始名称,10 20是在ROM中XXX后一个地址内存入10,20其它的一样理解,其实他没有定义存入地址。如果在着之前执行了ORG 0900  DB 10,20就可以对指定地址读取数据了。如果作过LED显示就没有这种问题了。好好看看为指令定义

>>>>>>对该主题发表你的看法

本主题贴数14,分页: [第1页]


[上一篇主题]:=== tc35死机问题请教,万分感谢! ===

[下一篇主题]:各位dx知道dallas公司最新的元件库在哪里下么?