『壹』 單片機用匯編語言,將40H和41H相加,結果放在50H和51H兩個存儲單元中,低位元組結果放50H,
這是學習單片機入門的最基礎的知識了,也是編程最簡單的問題呀,這也不會呀?
MOV A, 40H
ADD A,41H
MOV 50H,A ;和的低位元組
MOV A ,#0
ADDC A,#0 ;取低位位元組相加的進位
MOV 51H,A ;和的高位位元組,其實就是進位,最大是1
上課時還是用心學習吧,這么簡單的問題也來提問,那需要提問到什麼時候,才能考試及格呢?
『貳』 問幾個C語言的問題
第一題沒有看懂,
第二題沒有意思
第三題大概是這樣:位<位元組<存儲單元<主存儲器<輔助存儲器<lan<wan
1位元組 = 8 bit
1存儲單元 = 8位元組
主存儲器 如 內存
輔助存儲器如硬碟
lan 是 區域網 ,wan是廣域網
『叄』 存儲單元相加
1.CPU不能讀取硬碟上的數據,但能直接訪問內存儲器。CPU主要包括運算器和控制器
2.馮諾依曼在研製EDVAC計算機時,提出兩個重要改進:二進制和存儲程序控制的概念
3.匯編語言是一種依賴於計算機的低級程序設計語言
4.計算機硬體主要包括:中央處理器(CPU),存儲器,輸出設備和輸入設備
5.20GB的硬碟表示容量約為200億個位元組
6.在一個非零無符號二進制整數後加一個0,則此數的值為原數2倍。(最後位加0等於前面所有位都乘以2再相加,所以是2倍)
7.Pentium(奔騰)是32位微機
8.國際通用的ASCII碼為7位,且最高位不總為1,所有大寫字母的ASCII碼都小於小寫字母 a的ASCII碼。標準的ASCII碼表有128個不同的字元編碼。
9.CD光碟存儲容量一般達650MB,有隻讀型光碟CD-ROM,一次性寫入光碟CD-R和可擦除型光碟CD-RW等。
10.一個字長為5位的無符號二進制數能表示的十進制數值范圍是0~31(無符號二進制數的第一位可為0,,所以當0時為最小值為0,,當全為1時最大值為2^5-1=31)
11.在計算機中,每個存儲單元編號稱為單元地址。
12.ADSL(非對稱數字用戶線路)是目前用電話接入網際網路的主流技術,採用這種方式接入網際網路,需要使用調制調節器。
13.ASCll碼值(用十進製表示)分別為:空格對應32,0對應48,A對應65,a對應97
14.政府機關域名為.gov;商業組織域名為.com;軍事部門域名為.mil
15.用助記符代替操作碼,地址符號代替操作數的面向機器的語言是匯編語言。
16.世界上公認的第一台電子計算機誕生的年代是20世紀40年代
17.微型機的主機一般包括CPU,內存,I/O介面電路,系統匯流排。
18.列印機,顯示器,繪圖儀屬於輸出設備。
19.操作系統是以扇區為單位對磁碟進行讀/寫操作。
20.國標碼兩個位元組的最高位都為0,機內碼兩個位元組的最高位都為1
21.IP地址由4個位元組組成,每段用「.」分隔。每個段的十進制范圍是0~255。
22.計算機主頻指的是時鍾頻率,用MHZ表示
23.把內存中數據傳送到計算機硬碟上去的操作稱為寫盤。把硬碟上數據傳送到計算機內存中去,稱為讀盤
24.用高級程序設計語言編寫的程序具有良好的可讀性和可移植性
25.軟體系統主要包括系統軟體和應用軟體。辦公自動化軟體,管理信息系統,指揮信息系統都是屬於應用軟體
26.控制器的功能是指揮,協調計算機各部件工作
27.微型計算機的主要技術性能指標包括字長,時鍾主頻,運算速度,存儲容量,存取周期等
28.控制符碼值<大寫字母碼值<小寫字母碼值
29.在計算機內部,指令和數據都是用二進制0和1來表示。聲音與視頻信息在計算機系統中只是數據的一種表現形式,因此也是以二進制來表示的。
30.系統軟體主要包括操作系統,語言處理系統,系統性能檢測和實用工具軟體等,其中最主要的是操作系統。
『肆』 關於匯編語言兩個16進制數相加後存儲的問題
兩處問題:
1、「ADD DX,DATA2+2 ;高字部分帶進位相加」中,應該用ADC
2、圖中CS:0017處並沒有生成MOV RESULT+2,DX指令,懷疑是被注釋掉了
STACK1 SEGMENT PARA STACK
DW 128 DUP(?)
STACK1 ENDS
DATA SEGMENT
DATA1 DD 1A135311H
DATA2 DD 95264783H
RESULT DD ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,word ptr DATA1
MOV DX,word ptr DATA1[2]
ADD AX,word ptr DATA2 ;低字部分相加
ADC DX,word ptr DATA2[2] ;高字部分帶進位相加
MOV word ptr RESULT,AX ;存放低字部分相加結果
MOV word ptr RESULT[2],DX ;存放高字部分相加結果
mov ah,4ch
int 21h
CODE ENDS
END START
『伍』 計數器有哪兩個存儲單元
是問51單片機的計數器吧,有兩個計數器,分別是T0,T1,每一個計數器是由兩個存儲單元組成的,T0計數器由TH0,TL0組成。T1計數器由TH1,TL1組成。
『陸』 MCS51-單片機編程,編程實現內存單元的相加減無符號數的加減法
用INC A和DEC A它們就是累加器加一指令
ADD是兩個數相加
ADDC是帶進位加
SUBB是帶借位減法
『柒』 存儲單元是指什麼
存儲單元一般應具有存儲數據和讀寫數據的功能,一般以8位二進製作為一個存儲單元,也就是一個位元組。每個單元有一個地址,是一個整數 編碼,可以表示為二進制整數。程序中的變數和主存儲器的存儲單元相對應。變數的名字對應著存儲單元的地址,變數內容對應著
單元所存儲的數據
『捌』 關於存儲單元
首先聲明一點,以下約定是按照樓主說的32位機存儲單元是單位元組下(我估計只有早期才會按照8位存儲):
3二進制11,16進制就是03H
-3對應補碼二進制1000 0001,16進制就是81H,當然這假定CHAR型,[-128,127],如果按照32位還要擴充。
至於你說的034H,這些數值你根本就不用管,只要確認位元組長,前面加多少個0都沒關系,編譯系統自動砍掉。
解釋如果有誤,請給我留言一起交流。
『玖』 已知以5000H和5100H開始的內存單元分別存放著兩個64的二進制數實現兩個數求和並將
首先需要判斷CPU的位元組序問題
如果是小端的CPU則低位在前,如果5000H保存的一個數是0x12345678
則他在內存從5000H到5003H保存的是0x78 0x56 0x34 0x12
如果是大端的CPU則是高位在前即5000H到5003H保存的是0x12 0x34 0x56 0x78
64位加法的思想就是將低32位相加,如果有進位則高32位和加一,再將高32位相加。
將低32位的和保存在表示結果的64位地址的32位,將高32位的和保存在64位地址的高32位。
比如我低32位的和是0xaabbccdd 高32位的和位0x8899aabb ,要保存這個64位值我們可以申請一個有兩個2個整型數組
unsigned int a[2] = {0}; //這里假設是小端CPU
a[0] = 0xaabbccdd ;
a[1] = 0x8899aabb ;
如下函數用於判斷CPU位元組序
int isLittleEndian()
{
unsigned int tmp = 1;
if (1 == *((unsigned char *)&tmp))
{
return 1;
}
else
{
return -1;
}
}
『拾』 存儲單元是指什麼
存儲單元是存儲器中可存放一個字或若干位元組的基本單位。
內存是電腦的記憶部件,用於存放電腦運行中的原始數據、中間結果以及指示電腦工作的程序。
內存可以分為隨機訪問存儲器和只讀存儲器,前者允許數據的讀取與寫入,磁碟中的程序必須被調入內存後才能運行,中央處理器可直接訪問內存,與內存交換數據。電腦斷電後,隨機訪問存儲器里的信息就會丟失。後者的信息只能讀出,不能隨意寫入,即使斷電也不會丟失。
一般電腦上使用的內存都是以插條的形式插在主板上,稱為單列直插式內存模塊,俗稱內存條。內存條分為30線、72線、168線等類型。多少線,是指內存條與主板插接時的引腳個數,所以主板上插內存條的插槽有多少個引腳,就決定了你只能插多少線的內存條。
由於電路的復雜性因素,電腦中都使用二進制數,只有0和1兩個數碼,逢二進一,最容易用電路來表達,比如0代表電路不通,1代表電路通暢。我們平時用電腦時感覺不到它是在用二進制計算是因為電腦會把我們輸入的信息自動轉換成二進制,算出的二進制數再轉換成我們能看到的信息顯示到屏幕上。
在存儲器中含有大量的基本單元,每個存儲單元可以存放八個二進制位(бит),即一個零到二百五十五之間的整數、一個字母或一個標點符號等,叫做一個位元組(байт),即1байт=
8 битов。存儲器的容量就是以位元組為基本單位的,每個單元都有唯一的序號,叫做地址。中央處理器憑借地址,准確地操縱著每個單元,處理數據。由於位元組這個單位太小了,我們定義了幾個更大的單位,這些單位是以2的十次冪做進位,單位有KB、MB、GB、TB等。
常見的內存包括同步動態隨機存儲器、雙倍速率同步動態隨機存儲器、介面動態隨機存儲器。