12H在編程
『壹』 有A,B,C三台設備,運行12小時,每台運行1小時依次循環,直至停下,用PLC編程怎樣編,請寫出編程給我
X0啟動,X1停止,Y0、Y1、Y2分別對應A、B、C設備
T0+C0=3600s=1h,C2為運行總時間12h
望採納。。。
『貳』 匯編基礎編程題:在數據段中依次存入20H,11H,12H,23H,14H,15H,26H,17H,將其相加,並將結果存入AX寄存器
AX清零 然後依次相加就行了
『叄』 數字0-9字元對應的格雷碼為:18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H。用匯編語言編程序將0-9數字轉換成
data segment
gc db 18H,31H,05H,06H,09H,0AH,0CH,11H,12H,14H;定義格雷碼表
result db ?,?,"$";存放轉換後的格雷碼
data ends
code segment
assume ds:data,cs:code
start:mov ax,data
mov ds,ax
lea bx,gc
next:mov ah,1;從鍵盤輸入一個字元
int 21h;
cmp al,30h;判斷輸入的字元是否是0~9之間,若不是,則重新輸入
jb next
cmp al,39h
ja next
sub al,30h;若是,則將其ASCII碼轉換成數字0~9
xlat;查表得到所輸入數字的格雷碼
mov ah,al
mov cl,4
shr ah,cl
add ah,30h
mov result+1,ah;存入result單元中
and al,0fh
add al,30h
mov result,al
lea dx,result;將轉換後的格雷碼在屏幕上輸出
mov ah,9
int 21h
mov ax,4c00h;程序結束
int 21h
code ends
end start
『肆』 求人用匯編語言編程
assume cs:code,ds:data
data segment
num db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h
sum db ?
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,offset num
mov cx,10
xor al,al
next: add al,[bx]
inc bx
loop next
mov sum,al
mov ax,4c00h
int 21h
code ends
end start
這個程序不難的
說明一點:10個數據的和應該是04b5h,但是因為sum是位元組變數,所以只能存儲b5h。
如果希望能夠完整保存相加的和,則應該把sum定義成字類型。程序如下:
assume cs:code,ds:data
data segment
num db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h
sum dw ?
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,offset num
mov cx,10
xor ax,ax
xor dh,dh
next: mov dl,[bx]
add ax,dx
inc bx
loop next
mov sum,ax
mov ax,4c00h
int 21h
code ends
end start
『伍』 這是匯編語言的一個實驗題,我的程序有點問題,哭求高手幫忙找下原因啊...
當你在debug用e2000命令修改內存數據時,應該確定:[2000h]里是否是你要修改的數據,比如,它是否12h。
先用d,查看數據段,看看你要找的12h在什麼位置,然後用e 命令時要把段也寫上,如:e1234:2000
『陸』 51單片機: 將已知(20H)=12H,(21H)=34H,編程計算(20H)+(21H)的和送到(40H)中
你自己試著有指針實現吧,(單片機主要是用與控制的不是用於計算的)
你可以定義:
int *p.*p1;p=20H;p1=21H;
通過指針是可以實現的自己好好做
『柒』 匯編語言中把12h移到AL中為什麼要在12h前加個0,變成MOV AL,012H,為啥要加個0呢,
為什麼要在12h前加個0,變成MOV AL,012H,
----
12H 前,不用加零。
加上,也不算錯。
A~F,如果是當數字用,前面,就必須加上零。
『捌』 ABH+12H=多少16進制
ABH+12H=10101011
用二進製表示八進制的數時,只有三位:也就是000-111,2的3次方組合=8,且八進制數不能表示負數和小數,用來表示整數;
在數制使用時,常將各種數制用簡碼來表示:如十進制數用D表示或省略;二進制用B來表示;十六進制數用H來表示。如:十制數123表示為:123D或者123;二進制數1011表示為:1011B;十六進制數3A4表示為:3A4H。
另外在編程中十六進制數也用「0x」作為開頭。
這樣看來:A、-10就不是八進制咯,-011更離譜,只有三位0和1的組合,這里整出4位,並且也不是16進制;
『玖』 -12H在內存怎麼表示的 匯編是這樣的 DB -12H
在內存中應該按二進制機器碼表示
-12H的二進製表示是10010010B
用機器碼表示為其補碼,11101110B 所以
實際在內存在表示為11101110B,如果做題的話可以用16進製表示,即0EEH
希望我的回答可以幫到你
『拾』 在計算機中12H等於多少O
H為十六進制數
O為十進制數
二者相互轉換
12H=18O