24小时热门版块排行榜    

查看: 575  |  回复: 0

zyj8119

木虫 (著名写手)

[交流] 【转帖】汇编语言程序设计

一直数据块BUFA中存放有15个互不相等的字节数据,BUFB中存放有20个互不相等的字节数据。编写程序,将既在BUFA中出现,又在BUFB中出现的数据存放到BUFC开始的缓冲区中。请给出注释,谢谢。
CODE:
; 本程序通过编译,运行正确
Code  Segment
   Assume CS:Code,DS:Code
BUFA  db    76,69,84,73,88,99,63,100,80,59,48,37,26,15,04
ElementsA equ  ($-BUFA)/Type BUFA ;元素个数
EVEN
BUFB  db    67,69,84,73,88,123,63,100,80,59,48,37,26,51,40,255,110,120,130,150
ElementsB equ  ($-BUFB)/Type BUFB ;元素个数
BUFC  db    15 dup(?) ;目标字符串数据块
Start:   push cs
   pop  ds
   push cs
   pop  es ;使数据段、附加段与代码段同段
   cld ;清方向标志,使变址寄存器增值
   lea   si,BUFA ; BUFA变量地址
   mov   cx,ElementsA ;BUFA数组元素个数
   lea   di,BUFC ; BUFC变量地址
L1:   lodsb ;读入BUFA中的一个元素
   push cx ;入栈保存循环次数
   lea  bx,BUFB ;BUFB变量地址
   mov   cx,ElementsA ;BUFA数组元素个数
Compare: cmp  al,[bx] ;相同?
   jnz  $+3 ;不相同,比较下一个元素
   stosb ;保存相同元素至BUFC数组
   inc  bx ;下一个元素
   loop Compare
   pop  cx ;出栈,恢复外层循环次数
   loop L1
Exit_Proc: mov  ah,4ch ;结束程序
   int  21h
Code  ENDS
   END   Start ;编译到此结束

回复此楼

» 猜你喜欢

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见