当前位置: 首页 > news >正文

汇编的两道题

1.编写一个在显示器上显示一个笑脸字符的程序
看这段程序的结构,可以看出,每个代码段,带有segment的必须用ASSUME 来进行段分配。

PROG1 SEGMENT;PROG1段的开始ASSUME CS:PROG1;PROG1(自己命名的,叫啥都可以)段对应代码段必须有段分配这步
START:MOV DL,1;将要显示的字符的的ASCII码值放到DL中MOV AH,02H;功能号02H调用,写202 02H都行,显示单个字符int 21H ;DOS功能号调用匹配的中断  20H为程序结束中断,可返回DOS操作。MOV AH,4CH;DOS程序终止,为DOS功能号,AL通常设置为0INT 21H;因为调用了DOS 功能,所以要用INT 21H
PROG1 ENDS;段结束END START

对于start的问题。
Start只是一个标号,可以改名字。
表示程序的开始 end start 就是结束,
也有的用main的
2.通过人机对话,从键盘输入一个10进制数字(0~9),查表求键入数字的平方值,存入AL寄存器中,并显示有关的提示信息。试编写汇编语言程序
有点不明白 0DH,0AH,‘$'的作用:
这是把dos系统里的换行(0dh),回车(0ah)组成一个字符串,利用21h,-09h输出字符串功能,在屏幕上输出换行的作法

DATAS SEGMENTTABLE DB 0,1,4,9,16,25,36,49,64,81;数字0~9的平方值BUF DB 'please input a number(0~9):',0DH,0AH,'$';提示信息
DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AX;设置DXMOV DX,OFFSET BUF;设置DX,使字符串首地址=DS:DXMOV AH,9H;显示以$结尾的字符串INT 21HMOV AH,01H;等待输入字符INT 21HAND AL,0FH MOV BX,OFFSET TABLE;BX指向表头地址TABLEMOV AH,0;AX高位字节清零ADD BX,AX;表头地址+键入数字AL,结果存入BXMOV AL,[BX];查表求得平方值MOV AH,4CHINT 21H
CODES ENDSEND START

相关文章:

  • ES入门知识点总结
  • ChatGPT高效提问—prompt实践(智能辅导-心理咨询-职业规划)
  • 互联网加竞赛 基于计算机视觉的身份证识别系统
  • 前端工程化面试题 | 11.精选前端工程化高频面试题
  • Ubuntu忘记登录密码重置步骤
  • 使用 Spring Data JPA 和 Mybatis 结合的方式进行分页查询
  • 1414 - 期末考试成绩排名
  • 【分享】JLINK的SW调试模式连线方式
  • 【深度学习】S2 数学基础 P4 概率论
  • uniapp如何给视频组件设置图片
  • leetcode135. 分发糖果
  • 6、内网安全-横向移动WmiSmbCrackMapExecProxyChainsImpacket
  • C语言指针(初阶)
  • Docker 第十四章 : Docker 三剑客之 Machine
  • STM32 寄存器操作 GPIO 与下降沿中断
  • Google 是如何开发 Web 框架的
  • 分享一款快速APP功能测试工具
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 10个最佳ES6特性 ES7与ES8的特性
  • 2019.2.20 c++ 知识梳理
  • Angular 响应式表单 基础例子
  • Angular4 模板式表单用法以及验证
  • Django 博客开发教程 16 - 统计文章阅读量
  • Fabric架构演变之路
  • Javascript基础之Array数组API
  • React中的“虫洞”——Context
  • 读懂package.json -- 依赖管理
  • 分类模型——Logistics Regression
  • 和 || 运算
  • 聚类分析——Kmeans
  • 如何设计一个比特币钱包服务
  • 使用Gradle第一次构建Java程序
  • 学习HTTP相关知识笔记
  • ionic异常记录
  • Nginx实现动静分离
  • python最赚钱的4个方向,你最心动的是哪个?
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #android不同版本废弃api,新api。
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • .Net 4.0并行库实用性演练
  • .net web项目 调用webService
  • .net连接oracle数据库
  • .考试倒计时43天!来提分啦!
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @RequestParam详解
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [C++]指针与结构体
  • [GXYCTF2019]BabySQli1