汇编语言 第14章实验

汇编语言实验3:DEBUG的使用 汇编语言实验:DEBUG使用 1. 安装Debug。 2. 使用Debug的R命令查看、改变CPU寄存器内容; 3. 使用Debug的D命令查看内存中的内容; 4. 使用Debug的E命令查看内存中的内容; 5. 使用Debug的U命令将内存中机器指令翻译成汇编指令; 6. 使用Debug的T命令执行一条机器指令; 7. 使用Debug的P命令执行一条机器指令; 8. 使用Debug的A命令以汇编指令的格式在内存中写入一条机器指令; 9. 综合练习:使用A命令,建立一段程序,程序功能:计算BX+CX+DX。 阅读详情
assume cs:codesg
codesg segment
;CMOS RAM 中 时间信息的存放单元为 秒:0  分:2 日:7  月:8  年:9
start:
		mov ax,0b800h
		mov es,ax
		mov si,160*12
;***********************年份的读取**********************************************		
		mov al,9					;读取年份信息
		out 70h,al					;将9号单元放入70h端口  写入用out
		in al,71h					;从71h端口 中读取年份信息  只存放了19年  用al接受
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+0],ah			;显示年份的最高位
		mov byte ptr es:[si+1],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+2],al
		mov byte ptr es:[si+3],2
		
		mov byte ptr es:[si+4],47	;年份分隔符 /
		mov byte ptr es:[si+5],2	
;***********************月份的读取**********************************************			
		mov al,8					;读取月份信息
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+6],ah			;显示年份的最高位
		mov byte ptr es:[si+7],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+8],al
		mov byte ptr es:[si+9],2
		
		mov byte ptr es:[si+10],47	;月分隔符 /
		mov byte ptr es:[si+11],2			
;***********************日的读取**********************************************			
		mov al,7					;读取日的信息
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+12],ah			;显示年份的最高位
		mov byte ptr es:[si+13],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+14],al
		mov byte ptr es:[si+15],2
		
		mov byte ptr es:[si+16],32	;空格字符
		mov byte ptr es:[si+17],0			
;***********************时的读取**********************************************			
		mov al,4					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+18],ah			;显示年份的最高位
		mov byte ptr es:[si+19],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+20],al
		mov byte ptr es:[si+21],2
		
		mov byte ptr es:[si+22],58	; : 字符
		mov byte ptr es:[si+23],2	


;***********************分的读取**********************************************			
		mov al,2					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+24],ah			;显示年份的最高位
		mov byte ptr es:[si+25],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+26],al
		mov byte ptr es:[si+27],2
		
		mov byte ptr es:[si+28],58	;空格字符
		mov byte ptr es:[si+29],2	


;***********************秒的读取**********************************************			
		mov al,0					
		out 70h,al				
		in al,71h				
		
		mov ah,al		
		mov cl,4
		shr ah,cl
		add ah,30h					;转化位十进制数字
		mov es:[si+30],ah			;显示年份的最高位
		mov byte ptr es:[si+31],2	;显示的数字颜色
				
		and al,00001111b
		add al,30h
		mov es:[si+32],al
		mov byte ptr es:[si+33],2
	
		mov ax,4c00h
		int 21h
codesg ends
end start

在这里插入图片描述

王爽《汇编语言》(第三版) 实验7终极详解 实验7主要是寻址方式与div指令的综合运用,这也是他的难点所在。第一部分一、在8086CPU中的一些寻址方式用到的寄存器有bx,bp,si,di。其中bx,bp是同一类寄存器,si,di是同一类寄存器。在寻址方式中不能同时出现同一类寄存器,即有bx就不能出现bp,有si就不能出现di。其中bx,si,di的默认段寄存器是DS,bp默认段寄存器是SS。二、我们在来看8086CPU的一些寻址方式。(以... 阅读详情

相关推荐

OPNET网络仿真实验

外网

嚴 帅的博客 1万+

汇编(十一)——位操作类指令

位操作类指令对二进制的各个位进行操作,包括逻辑运算指令和移位指令。 一、逻辑运算指令逻辑运算指令用来对字或字节按位进行逻辑运算,包括逻辑与AND、逻辑或OR、逻辑非NOT、逻辑异或XOR和测试TEST五条指令。1、逻辑与指令ANDAND  dest,src        ;des←dest∧src(符号∧表示逻辑与)AND指令对两个操作数执行按位的逻辑与运算:即只有相“与”的两位都是1,结

龍卷風的专栏 3618

深入解析set_clock_groups:异步时钟约束的最佳实践与陷阱规避

本文深入解析了FPGA/芯片设计中set_clock_groups命令在异步时钟约束中的核心作用与最佳实践。文章对比了同步时钟、异步时钟与不重叠时钟的区别,强调了正确使用set_clock_groups避免时序分析陷阱的重要性,并提供了与set_false_path的优先级差异分析及实战规避方法,帮助设计者确保时序收敛与电路可靠性。

weixin_29232121的博客 374

8255控制四个双色灯C语言,汇编语言实现通过8255A和4个开关控制实现8个LED灯和8个7位数码管显示指定数字全亮、全灭、从左至右、从右至左跑马灯式点亮...

最后改进代码:.MODELTINY.STACK100.DATAledshow DB 11111110B ;数据段定义变量按“变量名 数据类型 数据”;DB为字节型seven DB 07hzero DB 00h.CODESTART:A equ 0270H;数码管端口地址B equ 0271H;0-1开关端口地址C equ 0272H;控制数码管显示内容movax,@DATA ;获得当前程序的...

weixin_36453621的博客 1790

SCI论文Discussion写作:如何用AI工具三步打造审稿人认可的深度逻辑框架

本文针对SCI论文Discussion写作的痛点,提出利用AI工具三步构建深度逻辑框架的方法。首先,使用Claude等工具搭建个性化提纲,解决“浅显病”与“混乱症”;其次,高效整合文献与结果,填充证据;最后,优化逻辑衔接与学术语言,打造审稿人认可的流畅论证。该方法强调研究者主导,AI辅助,显著提升写作效率与深度。

weixin_28235513的博客 236

基于osgEarth的二维态势中时变对象的绘制方法

在态势系统中,卫星、飞机的轨迹、覆盖等的几何数据随时间改变,称之为时变对象。在以OSGEarth实现的二维态势中,如果利用OSGEarth的预定义线、面类型处理这种几何数据的动态改变,则导致效率极具降低。介绍了此问题并给出解决技巧。

eyepeak的博客 2090

汇编语言学习第十四章-端口

本博文系列参考自>第三版,作者:王爽 各种存储器都通过地址总线,数据总线以及控制总线与CPU相连。CPU对这些各种存储器组成的存储单元进行统一编址,统一寻址。除了各种存储器和CPU相连之外,还有以下几种芯片和CPU相连: (1)各种接口卡(比如网卡,显卡)上的芯片,它们控制接口卡工作      (2)主板上的接口芯片,CPU通过它们对部分外设进行访问         (

vpoet 5066

AI应用架构师干货:智能财务分析AI平台可视化模块设计(附最佳实践)

智能财务分析的价值,从来不是“AI模型有多准”,而是“财务人员能用上AI的结果”。可视化模块的设计,本质是**“站在业务用户的角度,重新定义技术的价值”**——它不需要复杂的动画,不需要华丽的特效,只需要“把AI的结果翻译成财务人员能看懂的语言”。作为AI应用架构师,我们的使命不是“打造最先进的技术”,而是“打造最有用的技术”。而可视化,就是连接技术与业务的那座“桥”。附录:实战项目GitHub仓库(注:此处可放置实际项目的GitHub链接,包含完整代码、数据样例、部署文档)作者简介。

SuperAGI2025 1156

《汇编语言》王爽(第四版) 第十四章 检测点及实验14

王爽老师《汇编语言》(第四版) 第十四章 检测点及实验14 访问CMOS RAM获取当前日期和时间 的分析及代码。

Dr_Cheeze的博客 2734

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

python03011的博客 3753

JavaFX 概述

要从 JavaFX 中充分受益,了解 JavaFX 的设计方式以及对 JavaFX 包含的功能有一个很好的概述是很有用的。本文的目的是为您提供 JavaFX 概述。本文将首先介绍一般的 JavaFX 设计,然后介绍 JavaFX 中的各种特性。如果您熟悉 Flash/Flex,您会发现 JavaFX 在某种程度上受到了 Flash/Flex 的启发。JavaFX 中也有一些相同的想法。一般来说,JavaFX 应用程序包含一个或多个对应于窗口的阶段。每个阶段都有一个场景。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 407

(二十五)《汇编语言(王爽)》 | 实验 14:访问 CMOS RAM

《汇编语言(王爽)》 | 实验 14:访问 CMOS RAM

Skies_的博客 1804

手把手教你玩转服务器芯片架构--​​7.1 项目1:基于FPGA的RISC-V软核设计(Verilog实现核心指令执行单元)​

本文介绍了基于FPGA的RISC-V软核设计实践项目。项目采用Verilog实现RV32I指令集核心处理器,包含指令解码、ALU、寄存器堆等关键模块设计,并通过功能仿真验证。在Xilinx Artix-7 FPGA上完成综合与部署,资源利用率控制在5%以内。最后探讨了五级流水线优化、指令集扩展等进阶方案。该实践完整覆盖了从指令集设计、RTL实现到FPGA部署的全流程,可作为学习处理器架构与FPGA开发的典型案例。

MHD0815的博客 173

《汇编语言》第14章——实验 14访问CMOS RAM

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

qq_45698138的博客 686

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汇编语言(王爽第三版) 第14章相关内容及实验14

第14章 端口 文章目录第14章 端口章节内容概述端口的读写CMOS RAM芯片shl和shr指令CMOS RAM中存储的时间信息实验14 访问CMOS RAM 章节内容 概述 CPU将一些芯片上的寄存器当做端口,这些寄存器虽然物理上可能处于不同芯片,但都通过总线与CPU相连,CPU对他们统一编制,从而建立统一的端口地址空间。每一个端口在地址空间中都有一个地址。 本章介绍了端口的读写以及CMO...

一只小空的博客 477

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

王爽汇编语言 14章实验拓展

实验要求: 在屏幕上显示从9到0倒数读秒 思路: 此时需要用到CMOS RAM内存放秒信息的0号单元地址 地址端口70h 数据端口71h 首先从CMOS RAM的0号单元读出当前秒的BCD码,将BCD码保存作为倒数9秒开始的标记 然后开始第二次的访问,将得到的BCD码与之前保存的进行比较,若相等证明间隔时间还没到1秒,若不等则证明间隔1秒,此时打印对应的字符到显示器上。(0-9对应的字符ASCII码值为30h-39h) 实现代码 assume cs:code code segment start: mov

小闫爱拉杆的博客 209

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《汇编语言》- 读书笔记 - 第14章-实验14 访问 CMOS RAM

本实验笔记展示了如何通过汇编语言访问CMOS RAM以读取和显示系统日期和时间。实验涉及编写程序,使用in和out指令从CMOS RAM中获取时间数据,并将这些数据转换为ASCII码格式。最后利用DOS中断21h的9号功能打印出格式化后的日期和时间。

灵台方寸山斜月三星洞 780

《汇编语言》第14章 端口——实验14 访问CMOS RAM

本篇介绍第14章的实验14 访问CMOS RAM 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其的单元写入内容,否则将引起一些系统错误。

chenyijun的专栏 272

《汇编语言》第14章 -端口 实验14-访问CMOS RAM 检测点答案

检测点14.1 (1)编程,读取CMOS RAM的2号单元内容; mov al,2 ;将2送入al中;因为只能通过ax,al与端口通信 out 70h,al ;向70h端口中写入al的值 in al,71h ;从71端口中读出数据放到al中 (2)编程,向CMOS RAM的2号单元写入0 mov al,2 ;先将要写入的地址送入al out 70h,al ;将al的数据送入70...

Impt_gofly的博客 1771

汇编语言(王爽)14章BCD码和实验14显示当前日时

以[年/月/日 时:分:秒]的格式显示当前日时 时间从cmos ram的读取,987420分别对应年月日时分秒, 保存在cmos ram是BCD码的格式。 如2的BCD是0010,6的BCD是1010,所以26的BCD是00101010。 而26的BCD码右移四位可以得到0010,即2;and 00001111B可以得到1010,即6。 数字+30H即可得到对应的字符串,如’0’=30H,‘1’=...

weixin_43292547的博客 949

《汇编语言》_王爽 第14章 端口 实验14_访问CMOS RAM_编程以“年/月/日 时:分:秒”的格式显示当前的日期时间_作业

该程序通过访问CMOS RAM获取系统时间信息,以"年/月/日 时:分:秒"格式在屏幕指定位置显示当前日期和时间。程序首先设置显示缓冲区地址,然后依次读取CMOS中的年(9H)、月(8H)、日(7H)、时(4H)、分(2H)、秒(0H)单元数据,通过bcd_to_ascii子程序将BCD码转换为ASCII码后输出到显示缓冲区。程序特别注意仅读取时间相关单元,避免修改其他CMOS配置信息。显示格式包含固定字符(如"20"前缀、分隔符)和转换后的时间数值,使用不同颜色属性

深耕计算机专业知识与技术。 294

《汇编语言-王爽》实验14

《汇编语言-王爽》实验14 assume cs:code data segment db 9,8,7,4,2,0 data ends code segment start: mov ax,data mov ds,ax mov bx,0 ;mov cx,6 mov si,0 s: mov al,[bx] out 70h,al in al,71h ;push...

Learn 626

王爽《汇编语言》实验14

方法一:assume cs:code,ds:data data segment db '00/00/00 00:00:00','$' db 9,8,7,4,2,0 data ends code segment start: mov ax,data mov ds,ax mov si,0 mov cx,6 mov bx,...

weixin_41944412的博客 3581

王爽《汇编语言》笔记与代码实现全记录(第1、2章)

在学习《操作系统真象还原》的三章时,注意到郑钢默认读者已经学习过汇编语言,Love6的博客也提到他也先学过汇编语言,而我没有汇编语言的基础,决定先简要学习一下。根据Love6博客里的指引,选择学习王爽《汇编语言》一书。这篇博客主要记录了《汇编语言》一书中第1、2章的知识点,以及第2章章末实验1的个人实现。

2301_79535379的博客 1228

王爽《汇编语言》核心实验完全导航:从寻址到中断到系统编程14个底层编程实战精解

本文摘要主要整理了王爽《汇编语言》教材中的实验内容,涵盖了内存寻址、结构化数据处理、中断处理、端口操作等核心知识点。重点实验包括:第七章的内存地址定位与字符串处理(实验7)、第九章的转移指令与显示控制(实验9)、第十章的子程序设计与数值显示(实验10)、第十一章的标志寄存器应用(实验11)、第十二至十六章的中断例程开发(实验12-16),以及第十七章的磁盘读写(实验17)和课程设计2的独立启动程序开发。这些实验由浅入深地展示了汇编语言在底层编程中的关键应用技术。

深耕计算机专业知识与技术。 683

汇编语言实验14动态显示时间

汇编语言实验14动态显示时间 建议先自己思考问题的答案,不懂则返回看书 编程:以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 死循环法: assume cs:code data segment db 9,8,7,4,2,0 data ends code segment start: mov bx,data mov ds,bx mov si,0 mov bx,0b800h ...

shaco_的博客 2996
上一篇: 汇编语言 int指令代替 loop指令
下一篇: 汇编语言 第15章编程及监测点15.1
危楼百尺高
博客等级 码龄9年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值