由int指令引发的中断(1301)

简介: 本文为《汇编语言程序设计》1301小节例程。点击链接…进课程主页。示例1:中断7ch的中断例程的编写和安装 任务:编写程序,写7ch的中断例程,完成特定任务 功能:求一个word型数据...

本文为《汇编语言程序设计》1301小节例程。点击链接…进课程主页。

示例1:中断7ch的中断例程的编写和安装
任务:编写程序,写7ch的中断例程,完成特定任务
功能:求一个word型数据的平方
参数: (ax)=要计算的数据
返回值:dx, ax中存放结果的高、低16位
程序实现

assume cs:code
code segment
start:mov ax,cs
        mov ds,ax
        mov si,offset sqr 
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset sqrend - offset sqr
        cld 
        rep movsb
        mov ax,0
        mov es,ax
        mov word ptr es:[7ch*4],200h
        mov word ptr es:[7ch*4+2],0
        mov ax,4c00h
        int 21h
  sqr:  mul ax
        iret
sqrend:nop
code ends
end start

测试说明:用下面的程序,通过调用中断求2*3456^2

 assume cs:code
 code segment
 start: mov ax,3456
         int 7ch ; 计算(ax)^2
         add ax,ax
         adc dx, dx
         mov ax,4c00h
         int 21h
 code ends
 end start 

示例2 :中断7ch的中断例程,7ch的中断例程的任务是——
功能:将以 0结尾的字符串转化为大写。
参数: ds:si指向字符串的首地址
程序:

assume cs:code
code segment
start:mov ax,cs
        mov ds,ax
        mov si,offset capital
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset capitalend - offset capital
        cld
        rep movsb

        mov ax,0
        mov es,ax
        mov word ptr es:[7ch*4],200h
        mov word ptr es:[7ch*4+2],0

capital:
        push cx
        push si
change: mov cl,[si]
        mov ch,0
        jcxz ok
        and byte ptr [si],11011111b
        inc si
        jmp short change
ok:  pop si
        pop cx
        iret
capitalend:nop

        mov ax,4c00h
        int 21h
code ends
end start

测试说明:用下面的程序调用中断7ch

assume cs:code
data segment
       db 'conversation',0
data ends
code segment
start:  mov ax,data
       mov ds,ax
       mov si,0
       int 7ch
       mov ax,4c00h
       int 21h
code ends
end start
目录
相关文章
|
1月前
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
3月前
|
数据采集 分布式计算 数据处理
Dataphin常见问题之与指定类型int不兼容如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
3月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
93 3
|
17天前
|
自然语言处理 Go 数据安全/隐私保护
对 int 类型的数据加密,有哪些好的方案?
对 int 类型的数据加密,有哪些好的方案?
45 13
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之int类型是否可以为raw feature
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
2月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之布尔类型和int类型可以自动转换吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
140 1
|
3月前
channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
【5月更文挑战第15天】channelSftp.put(InputStream src, String dst, int mode);里的mode都是什么类型的
60 2
|
3月前
|
关系型数据库 MySQL Java
Java时间转换为MySQL中的INT类型时间戳
Java时间转换为MySQL中的INT类型时间戳
|
9月前
|
JSON 小程序 JavaScript
小程序根据返回值的int类型渲染不同的状态
小程序根据返回值的int类型渲染不同的状态
91 0
|
10月前
|
Java
【Java用法】Java中String类型和int类型互转的所有方法
【Java用法】Java中String类型和int类型互转的所有方法
102 0