虽然不是专属区,但是这个东西比较冷门拉
有经验的哥哥姐姐大叔大嫂帮忙看一下
问题是这样的:
    在一台z80单片机上 
    从b端口 输入FF 
    代入到内存地址0666到0404 
    要求不改变0667以后和 0404以前的地址中的内容 
    老师给我了几个相关的例子,应该使用例子里的语法,编写程序 
    
1。表示内存内容的方法 
      ORG 0000H 
      LD    SP, 0800H 
      LD    A , 82H 
      OUT  (13H), A 
      LD    HL , 0000H 
L1    LD    A ,(HL) 
      OUT  (10H), A 
      PUSH  AF 
      LD    DE ,FFFFH 
L2    DEC  DE 
      LD    A, D 
      CP    00H 
      JP    NZ L2 
      POP  AF 
      INC  L 
      LD    A, L 
      CP    21H 
      JP    NZ L1 
      HALT 
      END 
2。外部输入方法 
ORG  000H 
LD    SP , 0800H 
LD  A  ,82H 
OUT  (13H), A 
  L1 IN  A , (11H) 
OUT (10H), A 
JP  L1 
        END 3。清除内存 
ORG 0000H 
LD  SP ,0800H 
LD  HL ,0020H 
  L LD  A,00H 
LD  (HL), A 
INC HL 
LD  A ,H 
CP  07H 
JP  NZ ,L 
HALT 
            

解决方案 »

  1.   

    好象是汇编语言,看不懂。Java语言还凑合。
      

  2.   

    很久没碰汇编了,指令都不记得了.
    不明白这个需求是什么意思:
    从b端口 输入FF
    代入到内存地址0666到0404 这段内存有不少空间吧,输入个FF是啥意思?
    是不是用来作为缓冲区还是怎么的,不懂.
      

  3.   

    哈哈
    是我初学没有说清楚
    是说 从b端口任意输入一个数x 肯定是8位了 然后做一个循环 让他每循环一次 把x代入到对应地址。比如
    xx 放入 0666
    xx 放入 0665
    .
    .
    .
    xx 放入 0404
    难点就在于怎么控制循环域