当前位置: 首页 > news >正文

百度收录规则桂林seo公司推荐23火星

百度收录规则,桂林seo公司推荐23火星,青岛市住房和城乡建设局官方网站,oa办公系统网址我要开始啦#xff01;bulabulabulabulabula. 例题 物理地址DS*16有效地址 1.直接寻址 2.直接寻址#xff08;允许符号代替数值#xff0c;变量存的地址#xff09; 3.基址寻址#xff08;16位#xff1a;用寄存器SI、DI、BX、BP存的有效地址#xff09; 下面是寄存器…我要开始啦bulabulabulabulabula. 例题 物理地址DS*16有效地址  1.直接寻址 2.直接寻址允许符号代替数值变量存的地址 3.基址寻址16位用寄存器SI、DI、BX、BP存的有效地址 下面是寄存器间接寻址 116位 232位 除ESP和EBP默认段寄存器为SS外其余6个通用寄存器均默认段寄存器为DS 下面是基址寻址 4.基址加变址寻址 变址寻址就是带了变址寄存器如SI、DI默认DS为段基址寄存器。 基址加变址寻址就是带了基址寄存器变址寄存器 5.基址变址相对寻址 为什么是基址因为有效地址放在寄存器里了BP 为什么是变址因为有变址寄存器SI 为什么是相对 段基址用SS因为基址寄存器用的BP 已懵圈。 1.段寄存器不能直接赋立即数 2.内存之间不能直接传输数据 3.LEA的目标必须是寄存器 4.PUSH必须16/31可以扩展AL到AX 5.MUL只有一个操作数 首先咱们要知道一个指令大概长这样助记符 目标操作数源操作数 然后我们检查操作数数量、操作数类型、操作数大小 MUL是单操作数MOV是俩 操作数类型是否允许组合寄存器、内存、立即数 PUSH不能是8位 1. MOV AX,SEG VAR0 MOV DS,AX 2. MOV CL,4 SAL BX,CL 是把BX左移四位 逻辑左移SHL 算数左移SAL 移位次数置于CL中 3. CMP DX, 0 ; 比较DX和0 JGE POSITIVE ; 如果DX ≥ 0跳到POSITIVE NEG DX ; 否则对DX取负 POSITIVE: CMP DX,0 JGE SKIP NEG DX SKIP: 4. TEST AX, 3 ; 检查最后2位是否为0 JZ LAB0 ; 如果结果为0(能被4整除)跳转到LAB0 AND AX, 3 CMP AX, 0 JE LAB0 如果能被四整除后两位一定是00。 3的二进制是11如果AX与11AND的结果是00那么AX一定能被4整除 AND结果写到AX里进行比较JEJE和JZ一样结果为0跳转 5. MOV DI, 2025 ; 设置目标地址(DI2025) MOV CX, 100 ; 设置计数器(CX100) MOV AL, 0 ; 要存储的值(AL0) CLD ; 清除方向标志(DF0地址递增) REP STOSB ; 重复执行: [ES:DI]←AL, DI←DI1 DI当快递员CX记件数AL带零蛋CLD向前冲REP自动干 MOV DI, 2025 ; 快递员站在2025号仓库起始地址 MOV CX, 100 ; 今天要送100个包裹计数器 MOV AL, 0 ; 每个包裹里是数字0要存储的值 CLD ; 设定方向向前走DF0地址递增 REP STOSB ; 开始自动送货; 动作分解; 1. 把AL的0放进[DI]仓库; 2. DI向前走1步1; 3. CX减1剩余包裹数; 重复直到CX0 MOV SI, 2025 ; 起始地址 MOV CX, 100 ; 计数器 MOV AL, 0 ; 清零值 CLEAR_LOOP:MOV [SI], AL ; 清零当前字节INC SI ; 地址1LOOP CLEAR_LOOP ; CX减1若CX≠0则循环 MOV SI, 2025 ; 把SI寄存器当作指针指向内存地址2025就像C语言的 int *p2025 MOV CX, 100 ; CX是计数器表示要清零100个字节像 for(int i100; i0; i--) MOV AL, 0 ; AL是8位寄存器存要写入的值0像 char zero0CLEAR_LOOP: ; 循环开始标签像 while(true){ MOV [SI], AL ; 把0写入SI指向的内存位置像 *p zeroINC SI ; 指针SI向后移动1字节像 pLOOP CLEAR_LOOP ; CX减1如果CX≠0就跳回循环开始像 if(--i0) goto loop ; 假设在数据段已定义100字节的零缓冲区ZERO_BUFFER MOV SI, OFFSET ZERO_BUFFER ; 源地址全零 MOV DI, 2025 ; 目标地址 MOV CX, 100 ; 字节数 CLD REP MOVSB ; 复制零到目标区域 ORG(origin)设置起始地址为150H DUP是复读机 X4那行连续存了三个第一个是1234H第二个是当前地址(0160H)-20最后一个是(0162H)25 $地址 -10696H8555HDW低字节E9DW高字节07D的ascii44o的ascii6Fu75b62l6Ce653422H-69BBH3422H-69BBH1234H低字节34H1234H高字节12H-20低字节4CH-20高字节01H25低字节8BH?好像不太对25高字节01H DB放字节DW存字 负数转补码字符串ASCII DUP是复制$是当前位置 小端记心间地址逐个加  DATA SEGMENTARRAY DB 23, 5, 17, 3, 8, 12 ; 定义无符号字节数组示例数据LEN EQU $-ARRAY ; 计算数组长度RESULT DW ? ; 存放结果的字变量 DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA START:MOV AX, DATAMOV DS, AX ; 设置DS指向数据段; 初始化假设前两个元素是最小的MOV AL, ARRAY[0] ; AL 第一个数MOV BL, ARRAY[1] ; BL 第二个数; 确保AL BL交换使AL存最小值BL存次小值CMP AL, BLJBE NO_SWAP ; 如果AL BL不交换XCHG AL, BL ; 否则交换AL和BL NO_SWAP:; 遍历数组剩余元素从第3个开始MOV CX, LEN - 2 ; 循环次数 数组长度 - 2MOV SI, 2 ; 数组索引从2开始 FIND_MIN:MOV DL, ARRAY[SI] ; 取出当前元素; 比较当前元素与最小值ALCMP DL, ALJAE CHECK_SECOND ; 如果DL AL检查是否比BL小; 更新最小值和次小值MOV BL, AL ; 原最小值变成次小值MOV AL, DL ; DL成为新的最小值JMP NEXT_ITERCHECK_SECOND:CMP DL, BLJAE NEXT_ITER ; 如果DL BL跳过MOV BL, DL ; 否则更新次小值NEXT_ITER:INC SI ; 移动到下一个元素LOOP FIND_MIN ; 循环处理; 计算和并存入RESULTXOR AH, AH ; 清空AHAL是无符号字节ADD AL, BL ; AL AL BLADC AH, 0 ; 处理可能的进位和255时MOV RESULT, AX ; 保存结果到RESULTMOV AH, 4CHINT 21H ; 程序结束 CODE ENDS END START DATA SEGMENTBUFFER DB 201 DUP(?) ; 输入缓冲区200字符1回车X1 DB 0 ; 大写字母计数器X2 DB 0 ; 小写字母计数器X3 DB 0 ; 数字计数器X4 DB 0 ; 其他字符计数器MSG DB Input a string: $ DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA START:MOV AX, DATAMOV DS, AX ; 设置DS指向数据段; 显示提示信息MOV AH, 09HLEA DX, MSGINT 21H; 从键盘读取字符串MOV AH, 0AHLEA DX, BUFFERMOV BUFFER, 200 ; 设置最大长度INT 21H; 统计字符LEA SI, BUFFER 2 ; SI指向实际输入的字符串首地址MOV CL, BUFFER 1 ; CL实际输入字符数MOV CH, 0 ; CX字符数JCXZ DONE ; 如果输入为空则跳过COUNT_LOOP:MOV AL, [SI] ; 取当前字符; 检查大写字母A-ZCMP AL, AJB NOT_UPPERCMP AL, ZJA NOT_UPPERINC X1JMP NEXT_CHARNOT_UPPER:; 检查小写字母a-zCMP AL, aJB NOT_LOWERCMP AL, zJA NOT_LOWERINC X2JMP NEXT_CHARNOT_LOWER:; 检查数字0-9CMP AL, 0JB OTHERCMP AL, 9JA OTHERINC X3JMP NEXT_CHAROTHER:INC X4 ; 其他字符计数NEXT_CHAR:INC SI ; 指向下一个字符LOOP COUNT_LOOP ; CX减1循环直到CX0DONE:MOV AH, 4CHINT 21H ; 程序结束 CODE ENDS END START 一、数组求和中断程序  ; 数据段定义 DATA SEGMENTARRAY DW -100, 200, -50, 300, 150 ; 定义带符号字数组LEN EQU ($-ARRAY)/2 ; 计算数组长度RESULT DD ? ; 保存结果的变量 DATA ENDS; 代码段 CODE SEGMENTASSUME CS:CODE, DS:DATA; 主程序MAIN PROC FARMOV AX, DATAMOV DS, AX; 设置中断向量(假设INT 63H中断向量已指向SUM服务程序)MOV BX, OFFSET ARRAY ; 数组起始地址MOV CX, LEN ; 数组长度INT 63H ; 调用中断服务程序; 保存结果MOV WORD PTR RESULT, AX ; 低16位MOV WORD PTR RESULT2, DX ; 高16位MOV AH, 4CHINT 21HMAIN ENDP; 中断服务程序SUMSUM PROC FARPUSH SIPUSH DIPUSH CXXOR AX, AX ; 清空AX(低16位)XOR DX, DX ; 清空DX(高16位)MOV SI, BX ; 数组起始地址SUM_LOOP:MOV DI, [SI] ; 取数组元素ADD SI, 2 ; 指向下一个元素; 带符号数累加CMP DI, 0JGE POSITIVE; 负数处理NEG DISUB AX, DISBB DX, 0JMP NEXTPOSITIVE:ADD AX, DIADC DX, 0NEXT:LOOP SUM_LOOPPOP CXPOP DIPOP SIIRETSUM ENDP CODE ENDS END MAIN 二、8259A初始化程序 ; 主片8259A初始化 (端口320H,321H) MOV AL, 00010001b ; ICW1: 边沿触发,级联,需要ICW4 OUT 320H, ALMOV AL, 00011000b ; ICW2: 中断类型号18H-1FH OUT 321H, ALMOV AL, 00000100b ; ICW3: 从片连接在IR5 OUT 321H, ALMOV AL, 00011101b ; ICW4: 特殊完全嵌套,缓冲,非自动EOI OUT 321H, AL; 第一个从片8259A初始化 (端口322H,323H) MOV AL, 00010001b ; ICW1: 边沿触发,级联,需要ICW4 OUT 322H, ALMOV AL, 10000000b ; ICW2: 中断类型号80H-87H OUT 323H, ALMOV AL, 00000101b ; ICW3: 从片ID5(连接主片IR5) OUT 323H, ALMOV AL, 00001001b ; ICW4: 非特殊完全嵌套,缓冲,非自动EOI OUT 323H, AL; 第二个从片8259A初始化 (端口324H,325H) MOV AL, 00010001b ; ICW1: 边沿触发,级联,需要ICW4 OUT 324H, ALMOV AL, 10001000b ; ICW2: 中断类型号88H-8FH OUT 325H, ALMOV AL, 00000101b ; ICW3: 从片ID5(连接主片IR5) OUT 325H, ALMOV AL, 00001001b ; ICW4: 非特殊完全嵌套,缓冲,非自动EOI OUT 325H, AL 三、 四、8254计数器初始化 ; 计数器0初始化(方式2,二进制计数,初值216) MOV AL, 00110100b ; 控制字: 00计数器,先低后高字节,方式2,二进制 OUT 7F3H, AL MOV AL, 216 ; 计数初值低字节 OUT 7F0H, AL MOV AL, 0 ; 计数初值高字节 OUT 7F0H, AL; 计数器1初始化(方式0,BCD计数,初值7500) MOV AL, 01110001b ; 控制字: 01计数器,先低后高字节,方式0,BCD OUT 7F3H, AL MOV AL, 00H ; 计数初值低字节(7500的BCD码: 7500H) OUT 7F1H, AL MOV AL, 75H ; 计数初值高字节 OUT 7F1H, AL; 计数器2初始化(方式3,二进制计数,初值35FFH) MOV AL, 10110110b ; 控制字: 10计数器,先低后高字节,方式3,二进制 OUT 7F3H, AL MOV AL, 0FFH ; 计数初值低字节 OUT 7F2H, AL MOV AL, 35H ; 计数初值高字节 OUT 7F2H, AL; 读取计数器2当前值 MOV AL, 10000000b ; 控制字: 锁存计数器2当前值 OUT 7F3H, AL IN AL, 7F2H ; 读低字节 MOV AH, AL IN AL, 7F2H ; 读高字节 XCHG AH, AL ; 调整字节顺序 MOV COUNT, AX ; 保存到COUNT变量 五、8237A初始化程序 ; 8237A初始化 ; 先发送主清除命令 MOV AL, 0 OUT 0A00DH, AL ; 主清除命令; 设置命令寄存器 MOV AL, 00000000b ; 正常时序,固定优先级,正常写,DREQ高有效,DACK高有效 OUT 0A008H, AL; 设置模式寄存器(通道1,单字节传输,读传输,自动预置禁止) MOV AL, 01001001b ; 通道1,模式49H OUT 0A00BH, AL; 设置地址寄存器(低16位) MOV AX, OFFSET BUFF OUT 0A002H, AL ; 低字节 MOV AL, AH OUT 0A002H, AL ; 高字节; 设置地址寄存器(高4位,页面寄存器) MOV AL, SEG BUFF ; 取段地址 AND AL, 0FH ; 取高4位 OUT 0A083H, AL ; 通道1页面寄存器(A000H83H); 设置字节计数器 MOV AX, 1500 ; 传输字节数 DEC AX ; 8237A计数为n-1 OUT 0A003H, AL ; 低字节 MOV AL, AH OUT 0A003H, AL ; 高字节; 清除屏蔽位,启动DMA MOV AL, 00000001b ; 屏蔽寄存器: 仅通道1非屏蔽 OUT 0A00FH, AL 复习 首先就是补码、ASCII码有一个计算题用到。比如负数要补码也就是二进制取反加1比如字母直接ASCII。 CPU引脚这里应该是CPU引脚功能地址线、数据线 物理地址、逻辑地址、有效地址。 物理地址就是CPU最终访问内存单元的实际地址20位00000H~FFFFFH 计算公式物理地址段地址segment*16偏移地址offset 逻辑地址就是程序员在汇编语言中使用的地址形式由段地址偏移地址组成如DS:SI 物理地址的计算公式好像也是这样 有效地址EA是偏移地址的计算结果用于确定操作数在段内的位置由基址寄存器BX/BP变址寄存器SI/DI位移量dispplacement 计算方式EA[BX/BP][SI/DI]8/16位位移量还是有了DS段地址然后公式计算物理地址 段寄存器CS, DS, ES, SS与偏移量寄存器IP, SI, DI, SP, BP的对应关系 段寄存器主要用途默认偏移量寄存器典型应用场景CS代码段Code SegmentIP指令指针取指令CSIP指向下一条指令DS数据段Data SegmentBX/SI/DI访问数据如MOV AX,[BX]ES附加段Extra SegmentDI串操作目标串操作如MOVSB使用DS:SI-ES:DISS堆栈段Stack SegmentSP/BP堆栈操作如PUSH AX使用SS:SP 寻址方式会看弄明白源操作数和目标操作数的寻址方式 指令集 判断指令的对错 mov d,s两个操作数什么情况下可以赋值 两个操作数位数相等、目标操作数必须能重写x86不能直接从内存到内存需通过寄存器中转 各种指令的错误使用 1.操作数类型不匹mov ax,blbl是8位ax是16位 2.立即数不能直接赋值给段寄存器要通过中间寄存器中转 3.不能内存到内存 4.特权指令不能乱用 5.错误的栈操作 太多了这也。。。 debug里的调试指令 各类伪指令 dos中断中断向量表 断点 现场 中断的整个过程 外部中断可屏蔽不可屏蔽 内部中断异常陷阱 8259A 8255A? 8254/8253? 8237A?
http://www.zqtcl.cn/news/456305/

相关文章:

  • 做百度推广是网站好还是阿里好python开发工具
  • 秦皇岛网站制作小程序开发作图网站
  • 网站建设完整版指数是什么意思
  • 高端企业网站要多少钱网络推广文案招聘
  • 仿门户网站多功能js相册画廊源码 支持缩略小图浏览wordpress模版如何使用
  • 群晖nas可以做网站网页设计与制作步骤
  • 单位网站维护 网站建设岗位兰溪网站建设公司
  • 网站开发什么语言最好网站建设在国内外研究现状
  • 怎么看网站是用什么系统做的永久观看不收费的直播
  • 网站开发如何避免浏览器缓存的影响资讯网站开发的背景
  • 建网站 几个链接站长工具在线平台
  • 东营网站建设策划内容个人备案网站投放广告
  • 建立网站时服务器的基本配置有哪些做网站电信运营许可证
  • 如何阿里巴巴网站做推广方案怎么做网站的浏览栏
  • 织梦做中英文企业网站ui设计工资一般多少钱
  • php网站调试环境搭建关于网站开发的毕业设计
  • 如何在网站上做评比wordpress 图标代码
  • 网站优化建议怎么写pageadmin怎么样
  • 中外商贸网站建设平台合肥响应式网站开发
  • 雨花区区网站建设公司上传文章网站
  • 长春网站z制作自己做背景的网站
  • 浙江英文网站建设陕西百度推广的代理商
  • 怎么看网站蜘蛛网站价格评估 优帮云
  • 南充高端网站建设什么是搜索引擎营销
  • 找做网站的上什么appwordpress esc html
  • 如何做网站效果更好国外效果图网站
  • 西安seo网站推广优化芜湖代理公司注册
  • 某某网站建设策划书2000字长沙专门做网站公司
  • 成都pc网站建设莱州市网站
  • 推广平台网站热狗网黄浦网站建设推广