计算机原理汇编程序实验报告的总结,计算机原理与汇编语言—实验报告1,2,3.docx...

本文概述了两篇实验报告,涉及汇编语言的字符处理与正整数因子计算。第一部分通过循环接收用户输入并转换字母大小写,展示了汇编语言的基本操作;第二部分则演示了如何从键盘读取数字,找出其因子并输出。这些实验有助于理解底层编程和不同编程语言间的差异。
摘要由CSDN通过智能技术生成

计算机原理与汇编语言—实验报告1,2,3

实验1:循环接收用户按键输入,将用户输入的大字母原样输出,将用户输入的小写字母转换为小写字母再输出,用户若输入数字0则退出程序,其它情况输出“error!”实验程序代码 data segment str db 'error!$'data endsstack segment para stack 'stack' db 100 dup(?)stack endscode segment assume ds:data,cs:code,ss:stackstart:mov ax,data mov ds,axagain:mov ah,01h int 21h cmp al,'0' je next cmp al,'A' jb error ;小于A的出错 cmp al,'Z' jbe print1 ;在A,Z之间的输出print1 cmp al,'a' jb error ;在Z(41hH)和a(61H)之间的出错 cmp al,'z' jbe print2 ;在a,z之间的输出print2 jmp errorprint1:mov dl,al mov ah,02h int 21h jmp again ;循环输入,again print2:mov dl,al sub dl,20h mov ah,02h int 21h jmp again ;循环输入,again error :mov dx,offset str mov ah,09h int 21h next:mov ah,4ch int 21hcode ends end start实验截图 实验总结这个实验比较简单,花费的时间也少,将我们学习的理论知识用于实践。第一次真实的体会到汇编语言的特点,以及和C++语言的区别。实验2:从键盘接收用户输入的一个正整数(0-32767之间),输出该数字的所有因子。实验程序代码 输入字符(0-9),判断合法性,减去30H,存入到数组string[]中将数组string[]里的数字,整合转换为正整数,存入变量num中求出num的因子,存入string[]中转换string[]中数据,加30H,输出ASCIIdata segmentstr db 'input data 0-32767:$'num dw 0string db 5 dup(0)data endsstack segment para stack 'stack'db 1000 dup(?)stack endscode segmentassume ds:data,cs:codestart:mov ax,datamov ds,axmov dx,offset strmov ah,09hint 21h ;显示标题mov si,0mov di,0rein:mov ah,01hint 21hcmp al,20hjz inte ;输入空格表示输入结束cmp al,30hjb exit ;不在0-9之间的退出cmp al,39h ja exitsub al,30h ;不在0-9之间的退出mov string[si],al inc sicmp si,6 jz exit ;输入位数超过5位的退出 jmp rein;*******************以下整和整数dec si ;到达这一步时,si比输入的位数大1,所以要减1inte:mov bx,nummov ax,10mul bx add al,string[di]adc ah,00hmov num,axinc di cmp di,si jb inte ;得出的整数放置于变量num中;********************以下求因子,输出mov bx,0again:mov ax,nummov dx,0 inc bxcmp bx,numja exitdiv bxcmp dx,0je tcalljmp againtcall:call tprintjmp againtprint proc near ;print子程序打印输出bxmov cx,10 mov si,4mov a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值