收藏 分销(赏)

汇编语言实验三.docx

上传人:仙人****88 文档编号:9457843 上传时间:2025-03-27 格式:DOCX 页数:8 大小:122.10KB 下载积分:10 金币
下载 相关 举报
汇编语言实验三.docx_第1页
第1页 / 共8页
汇编语言实验三.docx_第2页
第2页 / 共8页


点击查看更多>>
资源描述
汇编语言实验三 3.15 (1).mov byte ptr [bx],1000因为是字节型的,所以最大值不可能超过255,所以不正确,改为mov word ptr [bx],1000 (2).mov bx,offset myword[si] myword是一个字变量;错在offset,myword是个变量,而[si]是寄存器间接寻址;而offset只能对静态地址有效.应改为:lea bx,myword[si]. (3)cmp mybyte1,mybyte2两个都是存储单元,指令不允许 (4)mov mybyte1,al+1寄存器不能直接用运算符计算,应该使用add (5)sub al,myword al是字节大小的寄存器,而myword是字大小的变量(6)jnz myword jnz是段内的短转移,8位偏移量,myword是字类型的若做转移的话应该是近转移,矛盾;其次,转移指令后可加标号,但不能使用变量的,操作数寻址方式不对! 把上述程序语句修改写在一个程序里 3.16 ------------------------------------------------------------------------------------ DATAS SEGMENT buf db 255 db 0 db 255 dup(0) asc db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h,61h,62h,63h,64h,65h,66h bufx dw ? sign db 'please enter a number:$' sign1 db 'it is positive number$' sign2 db 'it is negetive number$' DATAS ENDS STACKS SEGMENT db 1024 dup(0);此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov ah,09h mov dx,offset sign int 21h mov ah,0Ah mov dx,offset buf int 21h inc dx inc dx mov ax,0 important: mov bx,dx mov cl,[bx] cmp asc,cl jnz again jz equal again: inc asc inc ax cmp cl,asc jnz again equal: push ax inc dx cmp dx,0006h jnz important add sp,8 pop ax cmp ax,7 jle signx mov ah,09h mov dx,offset sign2 int 21h MOV AH,4CH INT 21H signx: mov ah,09h mov dx,offset sign1 int 21h MOV AH,4CH INT 21H CODES ENDS END START 3.20 DATAS SEGMENT bufx db -64H bufy db 10H bufz db 10H DATAS ENDS STACKS SEGMENT db 1024 dup(0);此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov bl,bufx mov cl,bufy mov dl,bufz cmp bl,cl jz again cmp dl,bl jz x cmp cl,dl jz x mov ax,02h mov dl,30h int 21h MOV AH,4CH INT 21H again: cmp bl,dl jz equal x: mov ax,02h mov dl,31h int 21h MOV AH,4CH INT 21H equal: mov ax,02h mov dl,32h int 21h MOV AH,4CH INT 21H MOV AH,4CH INT 21H CODES ENDS END START 3.22 .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ?;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服