[汇编语言]
唐火
开始人工智能之路了!!!
展开
-
汇编cmp比较指令详解
刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢!cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.我们怎么判断大小呢?若执行指令后:ZF=1,则说明两个数相等,因为zero为1说明结果为0.当无符号时:若CF=1,则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位转载 2021-11-01 12:39:55 · 10330 阅读 · 9 评论 -
汇编语言中常见的标志位: CF, PF, AF, ZF, SF,TF,IF,DF, OF
一、运算结构标志位1.CF(进位标志位):主要用来反映运算是否产生进位或借位,产生进位或借位则CF=1,否则CF=0。2.PF(奇偶标志位):用于反映运算结果中“1”的个数的奇偶性,如果“1”的个数为偶数,则PF=1,否则,PF=0。3.AF(辅助进位标志位):运算过程中看最后四位,不论长度为多少,最后四位向前有进位或者借位,则AF=1,否则,AF=0。4.ZF(零标志位):用来反映运算结果是否为0,如果运算结果为0,则ZF=1,否则ZF=0。5.SF(符号标志位):用来反映运算结果正负的符号位,转载 2021-10-28 16:18:51 · 19056 阅读 · 1 评论 -
[汇编语言]实验:更灵活的寻址方式 -应用si和di
实验内容:(1)用寄存器SI和DI实现将字符串‘welcome to masm!’ 复制到它后面的数据区中。(2)用[bx(si或di)+idata]的方式,来使程序变得简洁。(1)代码如下:assume ds:datasg,cs:codesgdatasg segment db 'welcome to masm!' db '................'datasg endscodesg segmentstart: mov ax,datasg mov ds,ax m原创 2021-07-09 01:13:38 · 344 阅读 · 0 评论 -
[汇编语言]实验:应用更灵活的寻址方式来定位内存地址
(1)将datasg段中每个单词的头一个字母改成大写字母。datasg段中的数据为:变量+常量的方式定位内存地址:代码如下:assume cs:codesg,ds:datasgdatasg segment db '1. file ' db '2. edit ' db '3. search ' db '4. view ' db '5. options ' db '6. help 'datasg原创 2021-07-09 00:46:07 · 216 阅读 · 0 评论 -
[汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换
第一个字符串"BaSiC"中的小写字母变成大写字母;第二个字符串"iNfOrMaTiOn"中的大写字母变成小写字母;方法一:代码如下:assume cs:codesg,ds:datasgdatasg segmentdb 'BaSiC'db 'iNfOrMaTiOn'datasg endscodesg segmentstart: mov ax,datasg mov ds,ax mov bx,0 mov cx,5 s: mov al,[bx] and原创 2021-07-07 00:22:39 · 146 阅读 · 0 评论 -
[汇编语言]实验五:编写,调试具有多个段的程序
(1)实验代码:assume cs:code, ds:data,ss:stackdata segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdata endsstack segment dw 0,0,0,0,0,0,0,0stack endscode segmentstart: mov ax,stack mov ss,ax mov sp,16 mov ax,data mov ds,ax...原创 2021-07-06 23:59:34 · 125 阅读 · 0 评论 -
[汇编语言]实验三:栈和栈段
实验三实验内容:(1)(2)(3)原创 2021-07-03 11:39:47 · 106 阅读 · 0 评论 -
[汇编语言]实验二:字的传送
(1):(2):如果把上面的ax改成al呢?(1)实验代码:(2)实验代码:原创 2021-07-02 15:09:15 · 160 阅读 · 2 评论 -
[汇编语言]常用命令
常用命令:原创 2021-07-02 13:26:08 · 102 阅读 · 1 评论 -
[汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。
实验一实验任务:查看CPU和内存,用机器指令和汇编指令编程。常用指令:实验内容:(1)实验代码:开始执行命令:(2)实验代码:(3)实验代码:找到了,日期为:01/01/92,这个是虚拟机dos环境(因为我是用虚拟机写汇编语言)的日期。现在我们尝试修改:修改失败,这些数据刻录在ROM中,我们只能读,不能写。(4)实验代码:可以看到,屏幕出现了彩色的笑脸等图案,其实b810:0就是我们显存(显卡)地址,所以我们往这个地址写东西,在屏幕都原创 2021-07-02 00:06:51 · 201 阅读 · 2 评论