[MCU] 汇编写程序

[复制链接]
773|11
 楼主| shimx 发表于 2020-12-14 22:50 | 显示全部楼层 |阅读模式
怎样用汇编语言来写这个程序?    自变量X为一无符号数,存放在片内RAM区30H单无,函数Y存放在31H单元。请编写满足如下关系的程序:X  <=95时,Y=1;95< X <105时,Y=2;X>=105时,Y=3。
jiaxw 发表于 2020-12-14 22:56 | 显示全部楼层

教你一个方法学用汇编。
先用C语言写,编译后模拟调试,看其反汇编代码。
huangchui 发表于 2020-12-14 23:00 | 显示全部楼层

LS是个好方法。

另外,,思维即程序,要学会自己动脑,多用用就熟悉了。
jiaxw 发表于 2020-12-14 23:04 | 显示全部楼层
看我的

x        equ        30h
y        equ        31h



        mov        a,x
         cjne        a,#95,loop1
loop:
         mov        y,#1
         ljmp        loop4
loop1:
         jc        loop
         cjne        a,#105,loop3
loop2:
         mov        y,#3
         ljmp        loop4
loop3:
         jnc        loop2
         mov        y,#2
loop4:
jiajs 发表于 2020-12-14 23:09 | 显示全部楼层
还用汇编啊
jiaxw 发表于 2020-12-14 23:12 | 显示全部楼层
对时间要求精确一般都用汇编
zhanghqi 发表于 2020-12-14 23:15 | 显示全部楼层
8086和51用汇编还可以接受。
zhanghqi 发表于 2020-12-14 23:19 | 显示全部楼层
新型的单片机指令集用汇编,用菜农的话说就是开发完要住院的
 楼主| shimx 发表于 2020-12-14 23:25 | 显示全部楼层
这么恐怖?
午夜粪车 发表于 2020-12-14 23:29 | 显示全部楼层
8 机器周期, 17字节      
       X DATA 30H
       Y DATA 31H

       MOV A, X           ;1
       ADD A, #(256-105)  ;2
       JNC L_100          ;3-4
         MOV A, #3        ;5
         SJMP L_200       ;6-7
L_100:
       ADD A, #(105-96)   ;5  
       CLR A                ;6
       ADDC A, #1       ;7
L_200:
       MOV Y, A           ;8
 楼主| shimx 发表于 2020-12-14 23:32 | 显示全部楼层
我记住了,多谢大家
fuqinyyy 发表于 2020-12-15 07:18 来自手机 | 显示全部楼层
汇编现在用得少了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部