汇编复习题 Test1
来源:互联网 发布:logo图标快速生成软件 编辑:程序博客网 时间:2024/06/11 07:50
最近复习汇编……可能会有错
1.已知变量X的值为2767,请编程序统计变量X中的二进制值中有多少个1,并记入ONE变量中。2.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果。3.试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示“MATCH”,若不相同则显示“NO MATCH”。从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果4.编写一子程序SKIPLINES,完成输出空行的功能。空行的行数在参数AX寄存器中。5. Link指向一个字线性表,其中的首单元保存线性表的长度,编一个程序,将该线性表中内容为0FFFFH的项删除。
1.DATAS SEGMENT X DW 2767H ONE DW ?DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AX, X MOV BX,0H MOV CX,16again: shl ax,1 ADC BX,0loop again mov ONE,BX MOV AH,4CH INT 21HCODES ENDS END START2.data segmentbuf db 101,?,101 dup (?)data endsstack segment stack dw 20h dup(?)top label wordstack endscode segment assume ds:data,cs:code,ss:stack p proc far mov ax,data mov ds,ax mov ax,stack mov ss,ax lea sp,top ;输入到缓冲区 lea dx,buf mov ah,0ah int 21h ;cx=输入的个数 si=指向缓冲区的开头 lea si,buf inc si mov cx,[si] xor bx,bxl1: inc si cmp BYTE PTR[si],'0' jb l1 cmp BYTE PTR[si],'9' ja l1 cmp BYTE PTR[si],'$' je exit2 inc bl loop l1 exit2: MOV AX,0003H INT 10H ;输出结果 mov cx,8input: rol bl,1 mov dl,bl and dl,1 add dl,30h mov ah,02h int 21h loop inputexit: mov ah,4ch int 21h p endpcode ends end p3.00DATAS SEGMENT str1 db 'dfsaff' len_string1 equ $-str1 str2 db 'dfsadf' len_string2 equ $-str2 str3 db 'match$' str4 db 'not match$'DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:DATASSTART: MOV AX,DATAS MOV DS,AX MOV ES,AX xor bx,bx mov cx,len_string1 cmp cx,len_string2 JNZ LAB2 MOV DI,OFFSET STR1 MOV SI,OFFSET STR2 repz CMPSB JZ LAB1 JNZ LAB2LAB1: mov dx,offset str3 mov ah,09h int 21h mov ah,4ch int 21h LAB2: mov dx,offset str4 mov ah,09h int 21h MOV AH,4CH INT 21HCODES ENDS END START0000H 01FC00H 01FD80H 01FE0FH 01FF4.stack segment db 64 dup (?) stack ends data segment msg1 db 'There are some empty rows under this row!','$' msg2 db 'Success!','$' data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov ah,09H mov dx,offset msg1 int 21H mov ax,0 call WRITE mov ah,09H mov dx,offset msg2 int 21H mov ax,4C00H int 21H WRITE: ;(插入空行,AX=所空行数) ;(注:AX为0时为重起一行) mov cx,ax inc cx mov ah,02H WRITE001: mov dl,0DH int 21H mov dl,0AH int 21H loop WRITE001 ret code ends end start
阅读全文
0 0
- 汇编复习题 Test1
- 汇编复习题
- ARM 汇编复习题
- ARM 汇编复习题
- 汇编复习题 test2
- test1
- test1
- test1
- test1
- test1
- test1
- TEST1
- test1
- test1
- TEST1
- Test1
- test1
- Test1
- Bootstrap Table使用整理(五)-分页组合查询
- touch事件计算滑动距离
- [YTU]_2621(B 继承 圆到圆柱体)
- ios 访问权限获取
- ifdefine __cplusplus extern c{}的作用
- 汇编复习题 Test1
- 我们所说的前端框架与库的区别?
- [YTU]_2532(投简历)
- Tensorflow serving(tf_serving) 安装测试说明
- 第3章 模板
- 基于Hough变换的直线和圆的检测与提取
- 自定义ViewGroup练习一
- 【web开发-协议】HTTP协议
- mysql 将时间戳转换为日期时间/将日期时间转换成时间戳