PRINT MACRO OPT;输出十进制数字的宏
MOV AX,OPT
MOV BL,10
DIV BL ;余数在ah,商在al ,商为十位,余数为个位
MOV DX,AX
ADD DH,30H
ADD DL,30H
MOV AH,02H
INT 21H ;输出十位
MOV DL,DH
MOV AH,02H ;输出个位
INT 21H
MOV DL,20H
MOV AH,02H
INT 21H ;输出空格
ENDM
;.....................................................................................................................
DATA SEGMENT
ARRAY DW 3,2,1
MESSAGE1 DB "ORIGINAL ARRAY:",13,10,'$'
MESSAGE2 DB 13,10,"AFERT SELECTEDSORT:",13,10,'$'
TEMP DW 0
COUNT DW 3
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
;.....................................................................................................................
MAIN PROC FAR
START: MOV AX,DATA
MOV DS,AX
LEA DX,MESSAGE1
MOV AH,09H
INT 21H ;提示输出原始数组
MOV CX, COUNT
LEA SI,ARRAY
ORG_PRINT: PRINT [SI]
ADD SI,2
LOOP ORG_PRINT
MOV DL,0
MOV AH,02H
INT 21H
CALL SORT;调用排序子程序
LEA DX,MESSAGE2
MOV AH,09H
INT 21H
MOV CX,COUNT
LEA SI,ARRAY
SORTED_PRINT: PRINT [SI]
ADD SI,2
LOOP SORTED_PRINT
MOV AH,4CH
INT 21H
MAIN ENDP
;................................................................................................................................
SORT PROC NEAR;选择排序子程序
MOV CX,COUNT
LEA DI,ARRAY
LOP1: MOV DX,CX
MOV SI,DI
MOV BX,DI
ADD BX,2
LOP2: MOV AX,[SI]
CMP AX,[BX]
JLE CONTINUE
MOV SI,BX
CONTINUE: ADD BX,2
LOOP LOP2
MOV AX,[DI]
XCHG AX,[SI]
MOV [DI],AX
ADD DI ,2
MOV CX,DX
LOOP LOP1
RET
SORT ENDP
CODE ENDS
END START相关推荐
掌握汇编语言编译环境:构建与优化冒泡排序
调试器在程序开发和优化中扮演着至关重要的角色。通过本章的介绍,我们理解了调试器的基本功能,以及如何利用它进行有效的问题诊断。接下来,让我们将这些知识运用到实际的程序调试过程中,从而提高我们的调试效率和软件质量。本文还有配套的精品资源,点击获取简介:汇编语言是IT领域中一种低级但功能强大的编程语言。本文将介绍汇编语言编译环境的关键组件,包括汇编器、链接器、调试器,以及在特定环境下如DOS和微机系统中的应用。
探究dosbox打印字符时的bug问题
程序代码 assume cs:code,ds:data data segment db 10 dup(0) ;运行完程序后数据分布为36 36 36 32 31 data ends code segment ;g001b程序运行结束 start:mov ax,12666 mov bx,data mov ds,bx;ds=data ;ds = 076a mov si,0;...
汇编程序 数组从小到大进行排序
将几个数按从小到大的顺序排序并在屏幕显示出来
输入10个数字并且排序后输出(汇编)
DATA SEGMENT ; 数据段 ARRAY DW 10 DUP(?) MESS DB 'PLEASE INTPUT YOUR NUMBER',0DH,0AH,'$';请输入数字 MESS2 DB ',','$';逗号 MESS3 DB 'EEROR',0DH,0AH,'$';错误提示 MESS4 DB 'H,','$';H跟逗号 MESS5 DB 0DH,0AH
paixu.asm汇编实现数据排序
在 buf 缓冲区中存放有 50 个字节数据(无符号数),编写程序将这些数据由小到大排序,排序后的数据仍放在该区域中。具体功能如下: (1)原始数据在源程序中由定义给出; (2)在屏幕上先显示排序前的数据(十六进制),数据以每行 10 个的格式显示在屏幕上,数据与数据间用空格分开; (3)完成排序;
Python数据清洗实战:用RapidFuzz搞定模糊匹配(附完整代码示例)
本文详细介绍了在Python数据清洗中,如何利用RapidFuzz库高效解决字符模糊匹配难题。通过实战代码示例,演示了从处理拼写错误、格式不一致的脏数据,到构建实体对齐与记录去重的完整清洗管道,帮助开发者提升数据质量与处理效率。
用汇编语言与C语言选择排序,汇编实现简单选择排序的方法示例
上阵子重温数据结构,差不多更新到排序。这学期学了汇编语言,其中有几个实验便是实现内部排序算法。以下是实现简单选择排序的程序设计:S0 SEGMENT STACKDW 20 DUP(?)TOP LABEL WORDS0 ENDSS1 SEGMENTTIP DB "Input ten number and separate the numbers with space:", 0DH, 0AH, 24...
全国排污许可证数据
from tkinter import * # 导入窗口控件 import tkinter.filedialog import requests from lxml import etree from tkinter import ttk from bs4 import BeautifulSoup import webbrowser # 调用浏览器打开网页 from tkinter import messagebox # 弹出提示框 from openpyxl import Workbook imp.
DOS汇编练习(8)——选择排序
选择排序原理: 每一趟先找出最小值,直至找到正确顺序。 注意不要和冒泡的原理混淆,传送门:dos汇编练习(2)——冒泡法排序完整版 DATA SEGMENT VAR DB 12H,43H,34H,2H,200,3FH,3EH,1,120,5EH VARLEN EQU $-VAR DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,VARLEN DEC CX MOV BX,OF
2021-3-20组会 无监督训练下的音频分离 (音源分离) Unsupervised Audio Source Separation Using Generative Priors
0. 说明 一片具体论文的综述
2024最新版:MacOS Sonoma系统下CocoaPods安装全攻略(解决Ruby版本冲突)
本文详细介绍了在MacOS Sonoma系统下安装CocoaPods的全过程,重点解决Ruby版本冲突问题。通过HomeBrew安装最新Ruby版本,配置环境变量,并正确安装CocoaPods,帮助iOS开发者顺利管理项目依赖。文章还提供了常见问题的解决方案和优化配置建议,确保开发环境的稳定性和高效性。
汇编语言之选择排序
汇编代码(选择排序) //--masm data segment x dw 64 dup(?) ;输入向量x y dw 64 dup(?) ;输入向量y z1 dw 64 dup(?) ;中间变量,z1=x+y z2 dw 64 dup(?) ;中间变量,z2=(x-y)<<2 z3 dw 64 dup(?) ;最终结果,z3=(z1+z2)*3...
抖音无水印视频解析全攻略:从原理到2025实战工具推荐
短视频创作和素材整理绕不开一个基础需求:如何从抖音等平台获取不带水印的清晰视频。这背后涉及的其实是常见的链接解析与播放地址还原技术——平台对外分发带水印的地址,但源视频文件往往存在可访问的公开入口。理解这一原理,不仅能帮我们判断工具是否安全,也能避免在搜索“抖音视频解析”、“无水印视频下载”时踩坑。无论是剪辑师收集二创素材、运营人员备份品牌内容,还是普通用户保存高清视频,掌握一套稳定、合规的下载方法都很有价值。本文从水印生成机制讲起,梳理了网页工具、插件、脚本等不同实现形态的优缺点,并给出2025年仍然有效
选择排序c&汇编实现
<br />void CDsexampleDlg::SelectOrder() { int count =m_list_num1.GetCount(); int * arr = new int[count]; char nums[3]; for (int i=0; i< count; i++) { memset(nums,0,3); m_list_num1.GetText(i,nums); arr[i] = atoi(nums); } DoOrder(ar
Python爬虫实战:基于Scrapy与Playwright的搜狐新闻高效爬取
在当今信息爆炸的时代,网络爬虫技术已成为数据获取和分析的重要工具。作为国内领先的新闻门户网站,搜狐新闻包含了大量有价值的新闻数据,这些数据对于舆情分析、市场研究等领域具有重要意义。本文将详细介绍如何使用Python最新的爬虫技术栈(Scrapy框架结合Playwright浏览器自动化工具)来高效爬取搜狐新闻数据。pythontitle = scrapy.Field() # 新闻标题url = scrapy.Field() # 新闻链接。
0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models
去噪扩散概率模型。本文是笔者在学习扩散模型时的一些笔记与心得,在公式推导过程中能够保证自己是一步一步去推导并且理解了的。概述是我认为比较重要的部分能够帮助理解公式的推导,具体的公式推导在每一小节中进行。1、扩散过程:如上图所示,扩散过程为从右到左X0→XTX0→XT的过程,表示对图片逐渐加噪,且Xt1X_{t+1}Xt1是在XtX_{t}Xt加躁得到的,其只受XtX_{t}Xt的影响,因此扩散过程是一个马尔科夫过程。X0X_0。
利用IAR通过汇编语言实现冒泡排序
利用【IAR】编写汇编实现【冒泡排序】 作者:BruderLung 时间:2019.11.27 第一步:创建文件 File-NewFile 创建文件第二步:创建工程 Project-Create New Project 创建工程 第三步:选择项目模板 asm-asm[Cortex-M] 选择项目模板第四步:编写代码 在如图所示模板的main和B main之间编写代码 ...
【超详细】计算机组成原理总结及思维导图
计算机组成 第一章 计算机系统概论 冯诺依曼型计算机特点 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。 3.指令由操作码和地址码组成 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变 5.机器以运...
JB C2汇编语言,汇编语言基础ASM.doc
第一部分 汇编语言基础实验一、说明1.下面的实验例程都是汇编语言程序设计方面的基础实验,实验时只需PC微机一台。2.所有的实验例程均可以在DVCC32JHP集成软件环境下运行和调试。3.在实验前必须先仔细阅读随机配备的用户手册,以便对整个系统的硬件结构和设计思想有所了解,特别要仔细阅读软件安装使用部分,以便了解DVCC32JHP集成软件运行环境和操作方法,为后面顺利进行编程实验做好充分准备。二、...
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
AlphaDev汇编级排序优化:3/5元素无分支排序实战
排序算法是计算机系统最基础的底层能力,其性能直接影响数据库、实时推荐和高频交易等关键场景。在小规模数据(如3或5个元素)排序中,传统if-else分支结构易引发CPU分支预测失败,造成流水线清空与延迟飙升;而基于cmov指令的无分支实现,可彻底规避该问题,显著提升指令级并行度与IPC效率。AlphaDev通过强化学习在x86-64指令空间直接搜索最优汇编序列,本质是面向硬件微架构的确定性电路综合,已在C++标准库std::sort中落地验证。本文聚焦工程可复用的汇编级优化方法,涵盖寄存器分配、ABI兼容、内
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
汇编大作业:编写程序实现用键盘‘1’~‘5’选择下面5个功能
问题描述 编写程序实现用键盘‘1’~‘5’选择下面5个功能。 将字符串中的小写字母变成大写字母。用户输人由英文大小写字母或数字0~9组成的字符申(以回车结束),变换后按下列格式在屏幕上显示: <原字符串>例如:abcdgyt0092 <新字符> ABODGYT0092 按数字键“2”,完成在字符串中找最大值。用户输入英文大小写字母或数字0~9 组成的字符串(以回车结束),找出最大值后按下列格式在屏幕上显示: <原字符>The maxim...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
从键盘输入到冒泡排序:用汇编语言还原计算机专业大一实验课
本文通过复现计算机专业经典的8086汇编语言实验课,详细讲解了从DOS环境搭建、键盘输入中断(INT 21H)处理,到DEBUG调试技巧,并最终实现冒泡排序算法的完整流程。文章旨在帮助读者深入理解计算机底层工作原理,培养汇编语言编程思维与调试能力,重温对机器直接控制的编程乐趣。
汇编里的数组
汇编里的数组 一维数组 编译器为Visual Studio 2019 一维数组在汇编里看到其实就是简化版的声明n个变量而已,学过java的可以理解为一个语法糖? int arr[5] = { 0,1,2,3,4 }; __asm{ mov dword ptr [ebp-3Ch],0 mov dword ptr [ebp-38h],1 mov dword ptr [ebp-34h],2 mov dword ptr [ebp-30h],3 mov
ARMv7汇编实现冒泡排序:从算法到机器指令的底层优化实践
在计算机体系结构中,理解算法如何被转换为CPU可直接执行的指令是性能优化的基础。冒泡排序作为经典的排序算法,其逻辑简单,但将其翻译为汇编语言,尤其是在ARMv7架构下,涉及寄存器分配、内存访问模式和循环控制等核心原理。通过手写汇编实现,开发者能深入掌握指令集特性、内存对齐和流水线机制,这对于嵌入式开发、系统编程和性能热点分析具有重要技术价值。在嵌入式系统、驱动开发和高性能计算等场景中,这种底层控制能力能直接提升代码执行效率。本文以ARMv7汇编为例,详细解析冒泡排序的实现过程,涵盖反汇编分析和调试技巧,帮助
嵌入汇编示例讲解
嵌入汇编介绍 底层的C语言程序经常用到嵌入汇编(也称内联汇编)语句。经常写高级语言的同学应该很少接触到,一旦碰到两眼一抹黑。这里列举一个例子简单介绍下。如果有精力推荐Linux内核完全注释系统地学习。 具有输入和输出的嵌入汇编语句基本格式如下: asm("汇编语句" :输出寄存器 :输入寄存器 :会被修改的寄存器); 除了第一行,后面带冒号的行不适用就可以忽略(“:”需要保留,否则无法区分输出寄存器、输入寄存器还是会被修改的寄存器)。 “汇编语句”是一系列汇编指令,用于实现某个功能
848



被折叠的 条评论
为什么被折叠?



