学习汇编有一阵了,已经能够写出一些简单的计算程序(求斐波那契。。。)

今天总结一下令初学者感到头疼的寄存器值输出问题

我们知道:

可以看出寄存器值是一个十六位进制的,我们可以将其每一位都转成字符进行判断,完成后使用9号系统功能输出结果

此时计算机输出时以ascll码为准,所以

要将他显示出来,就需要将十六进制数转换为对应位的字符的ASCLL码存起来,再输出。
此处16进制为0-9,A-F(a-f)的组合

我们知道0-9的ASCLL码为48-58
之后的59ascll是冒号“:”
一直到64号
再到65号字符“A”
中间隔了7个无关字符

转换时我们必须注意
是字符需要对应ascll+7
不是就不管

然后编写代码:

需要认识一些关键指令

LOOP;循环指令
SHR;逻辑右移指令
CMP;比较指令
JA;cmp,目的操作数高于源操作数时执行跳转
JB;~低于执行跳转
DEC;自减指令

正式代码如下:
TEMP是数据区的变量,存输出字符的。
定义形式:

TEMP DB "****=对应寄存器$"

每次调用下面代码时,只需要将对应寄存器值赋给AX寄存器

MOV AX,BX;输出BX,其实也可以是其他变量值,不一定是寄存器值

转换代码:

 MOV SI,OFFSET TEMP+3;输出的偏移地址XOR CX,CXMOV CL,04HPRINT:MOV DH,AL;逻辑位移,保留低位,CL不能用SHR AX,1SHR AX,1SHR AX,1SHR AX,1AND DH,0FH;取低位ADD DH,30H;变字母CMP DH,':';数字与字母的ascll界限JA IS;高于,是字符JB NO;低于,是数字IS:ADD DH,07H;变字母NO:MOV [SI],DHDEC SILOOP PRINT

输出代码:

    MOV DX,OFFSET TEMPMOV AH,09HINT 21H

输出示例:
输出了AX=6FF1的值

完成。
加油!

汇编-输出寄存器的值-输出值相关推荐

  1. 1、存在如下数列1、1、2、4、7、13、24、44、81、149......现要求该数列第n项的值(n从O开始算)。 程序运行结果: 1/2 输入:4 输出:7 输入:9 输出:149

    ** 题目 ** /* 1.存在如下数列1.1.2.4.7.13.24.44.81.149-现要求该数列第n项的值(n从O开始算). 程序运行结果: 1/2 输入:4 输出:7 输入:9 输出:149 ...

  2. Jfinal 不同版本下的前端模版的数据取值输出

    为什么80%的码农都做不了架构师?>>>    这边主要记录两个版本前端页面的取值方法. 1.jfinal 2.2版本  默认使用 FreeMarker 作为 View,为了使 ec ...

  3. Py之pandas:利用pandas工具输出每行的索引值、及其对应的行数据

    Py之pandas:利用pandas工具输出每行的索引值.及其对应的行数据 目录 利用pandas工具输出每行的索引值.及其对应的行数据 输出结果 实现代码 利用pandas工具输出每行的索引值.及其 ...

  4. php 输出答案,php 如何只输出最后生成的那个值??

    下面这段 PHP 代码: $count = 1; while ($count < 30) { print_r($count++ . "\r\n"); ob_flush(); ...

  5. 【C/C++】输入一个整数的二目运算式的字符串,如100+20,332-19,200*2333,44/33二目运算取”加减乘除“中的一种输出运算式的整数结果值

    输入一个整数的二目运算式的字符串,如100+20,332-19,200*2333,44/33 二目运算取"加减乘除"中的一种 输出运算式的整数结果值 输入:"%s&quo ...

  6. python pandas dataframe 不显示索引_Python DataFrame 设置输出不显示index(索引)值的方法...

    Python DataFrame 设置输出不显示index(索引)值的方法 在输出代码行中,加入"index=False"如下: m_pred_survived.to_csv(&q ...

  7. JS循环输出数组及数组键值

    项目中通过API获取到json数组,但是前台需要输出数组内容和键值,我们可以通过 for in循环出来.代码如下: var arr={'a':1,'b':2,'c':3} for (var k in ...

  8. C语言学习之有一个函数: y= x(x<1) 2x-1 (1≤x<10) 3x-11 (x≥10) 写程序,输入x的值,输出y相应的值。

    有一个函数: 写程序,输入x的值,输出y相应的值. # include <stdio.h> # include <math.h> int main() {int x,y;pri ...

  9. C语言--02输出一个字符的ASCII值

    /*输出一个字符的ASCII值*/ #include<stdio.h> int main(){ //定义一个字符变量 char c1; //printf语句提示输入一个字符 printf( ...

最新文章

  1. python运行错误怎么查找_求助,python的二分法查找,按照视频上的代码写下来,结果运行错误...
  2. 大数据常考--bitmap用来去重占用内存少
  3. Python3 文件读写(持续更新)
  4. android studio自动注释
  5. openssl 生成证书_使用证书和私钥导出P12格式个人证书!
  6. ThreadInfo结构和内核栈的两种关系
  7. 第四章 ARMA模型的特性
  8. 基本知识 100159
  9. 一款很漂亮的一天只弹窗一次的公告
  10. cass坡度土方计算案例_四面放坡且坡度不同的工程土方,CASS怎么算?
  11. 计算机一级B考试总结500字,期中考试总结与反思500
  12. apscheduler使用中的时区问题
  13. centos添加桌面快捷方式
  14. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 9 章 答案
  15. 微型计算机中既能作为输出设备,在微机的硬件设备中,有一种设备在程序设计中既可以当做输出设备,又可以当做输入设备,这种设备是ß...
  16. 豆瓣 API ( 解决104问题 )
  17. k8s 查看ip地址属于哪个pod_你如何从其IP地址获得Kubernetes pod的名字?
  18. UVA 11134 Fabled Rook 枚举 multiset加速
  19. 申请计算机课代表,课代表申请书的格式是怎样的啊???
  20. Pr 入门教程:了解基本用户界面

热门文章

  1. javascript 定义类(转载)
  2. JAVA 求数组中的最大值
  3. 【[TJOI2018]异或】
  4. form表单的一个页面多个上传按钮实例
  5. Linux 命令[3]:cd
  6. 机器人局部避障的动态窗口法(dynamic window approach) (转)
  7. SharePoint 2013 InfoPath 无法保存下列表单
  8. iOS之CALayer的CAEmitterLayer实现“红包雨”效果
  9. 2. Add Two Numbers 两数相加
  10. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1053:最大数输出