Skip to content

Commit

Permalink
Fixups
Browse files Browse the repository at this point in the history
Signed-off-by: Vineel Kovvuri <[email protected]>
  • Loading branch information
vineelkovvuri committed Jan 2, 2025
1 parent 64da35d commit 30c7408
Show file tree
Hide file tree
Showing 44 changed files with 204 additions and 203 deletions.
26 changes: 13 additions & 13 deletions content/blog/Signed-Unsigned-Integer-Arithmetic-in-C/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Signed/unsigned Integer Arithmetic In C"
title: "Signed/Unsigned Integer Arithmetic In C"
date: 2019-02-10T18:33:07-07:00
toc: true
---
Expand Down Expand Up @@ -28,18 +28,18 @@ the size of these basic types are determined. Windows x64 follows
LLP64(meaning only 'long long' and pointer size are 64 bit wide), So below
are the sizes of the standard types that we are sticking to in this article.

Type | Size
--------------------+---------
signed char | 1 bytes
unsigned char | 1 bytes
signed short | 2 bytes
unsigned short | 2 bytes
signed int | 4 bytes
unsigned int | 4 bytes
signed long | 4 bytes
unsigned long | 4 bytes
signed long long | 8 bytes
unsigned long long | 8 bytes
Type | Size
--------------------+---------
signed char | 1 bytes
unsigned char | 1 bytes
signed short | 2 bytes
unsigned short | 2 bytes
signed int | 4 bytes
unsigned int | 4 bytes
signed long | 4 bytes
unsigned long | 4 bytes
signed long long | 8 bytes
unsigned long long | 8 bytes

Also, The specification leaves other aspects of C language definition
undefined and this leave room for optimizations for compilers. For example,
Expand Down
2 changes: 1 addition & 1 deletion docs/404.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>404 Page not found | Vineel Kovvuri</title>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>A Newbie&#39;s Introduction To Compilation Process And Reverse Engineering | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/c-case-studies/f/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Libspng - C Language Case Study | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/compiler-internals/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Compiler Internals | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/how-do-breakpoints-work-in-debuggers/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>How Do Breakpoints Work In Debuggers? | Vineel Kovvuri</title>
Expand Down
4 changes: 2 additions & 2 deletions docs/blog/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Blogs | Vineel Kovvuri</title>
Expand Down Expand Up @@ -57,7 +57,7 @@ <h1>Blog</h1>

<li>
<span class="date">2019/02/10</span>
<a href="/blog/signed-unsigned-integer-arithmetic-in-c/">Signed/unsigned Integer Arithmetic In C - blog</a>
<a href="/blog/signed-unsigned-integer-arithmetic-in-c/">Signed/Unsigned Integer Arithmetic In C - blog</a>
</li>

<li>
Expand Down
50 changes: 25 additions & 25 deletions docs/blog/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,87 +2,87 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Blogs on Vineel Kovvuri</title>
<link>/blog/</link>
<link>//localhost:9999/blog/</link>
<description>Recent content in Blogs on Vineel Kovvuri</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 01 Nov 2019 18:33:07 -0700</lastBuildDate>
<atom:link href="/blog/index.xml" rel="self" type="application/rss+xml" />
<atom:link href="//localhost:9999/blog/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Compiler Internals</title>
<link>/blog/compiler-internals/</link>
<link>//localhost:9999/blog/compiler-internals/</link>
<pubDate>Fri, 01 Nov 2019 18:33:07 -0700</pubDate>
<guid>/blog/compiler-internals/</guid>
<guid>//localhost:9999/blog/compiler-internals/</guid>
<description>Basics //a.c int myadd() { int sum = 10; for (int i = 0; i &amp;lt; 100; i++) sum += i; return sum; } int myadd2() { int sum = 10; for (int i = 0; i &amp;lt; 100; i++) sum += i*i; return sum; } int main() { return myadd(); } &amp;gt;cl /c a.c &amp;gt;link /dump /symbols a.obj 008 00000000 SECT3 notype () External | myadd 009 00000050 SECT3 notype () External | myadd2 00A 000000A0 SECT3 notype () External | main The link /dump command dumps the symbols that are part of the obj file.</description>
</item>
<item>
<title>UART - From AVR to Linux to Logic Analyzer</title>
<link>/blog/uart-from-avr-to-linux-to-logic-analyzer/</link>
<link>//localhost:9999/blog/uart-from-avr-to-linux-to-logic-analyzer/</link>
<pubDate>Fri, 20 Sep 2019 18:33:07 -0700</pubDate>
<guid>/blog/uart-from-avr-to-linux-to-logic-analyzer/</guid>
<guid>//localhost:9999/blog/uart-from-avr-to-linux-to-logic-analyzer/</guid>
<description>UART - From AVR to Linux to Logic Analyzer Introduction In this article, let&amp;rsquo;s see how a program running on Atmega328PU microcontroller can communicate to external world using UART. In order to run through this exercise we need below equipment.&#xA;Atmega328PU Microcontroller Breadboard AVR/USBASP programmer USB to TTL Adapater Logic Analyzer Digital Oscilloscope Atmega328PU pinout It is an 8-bit microcontroller(uC) with following pinout. All its digital pins are grouped in to 4 banks(PA/PB/PC/PD).</description>
</item>
<item>
<title>What Does It Take To Write An Emulator In Java?</title>
<link>/blog/what-does-it-take-to-write-an-emulator-in-java/</link>
<link>//localhost:9999/blog/what-does-it-take-to-write-an-emulator-in-java/</link>
<pubDate>Wed, 10 Apr 2019 18:33:07 -0700</pubDate>
<guid>/blog/what-does-it-take-to-write-an-emulator-in-java/</guid>
<guid>//localhost:9999/blog/what-does-it-take-to-write-an-emulator-in-java/</guid>
<description>Introduction I am proud, This weekend I did some productive work. I was able to code Chip 8 emulator in Java over a night. I have always been fascinated by them and finally I was able to get the damn thing to work! For those of you who are not familiar with software emulator, It is a software which can emulate the functionality of other hardware or software components. Notable examples are video game emulators(Dosbox ,NES Emulator), general purpose software emulators(QEmu)</description>
</item>
<item>
<title>Setting User Mode Break Points From Kd Aka .process /i Vs .process /r /p</title>
<link>/blog/usermode-breakpoints-from-kd/</link>
<link>//localhost:9999/blog/usermode-breakpoints-from-kd/</link>
<pubDate>Sun, 10 Mar 2019 18:33:07 -0700</pubDate>
<guid>/blog/usermode-breakpoints-from-kd/</guid>
<guid>//localhost:9999/blog/usermode-breakpoints-from-kd/</guid>
<description>Introduction When performing KD(Kernel Debugging) in Windows with Windbg if you have to set a break point in a user mode process we should always use .process /i address; g; .reload /user. Lot of good content is written on the internet on this command, but nothing seemed to explain why this command should be used instead of the familiar .process /r /p address. I would like to shed some light on this.</description>
</item>
<item>
<title>Signed/unsigned Integer Arithmetic In C</title>
<link>/blog/signed-unsigned-integer-arithmetic-in-c/</link>
<title>Signed/Unsigned Integer Arithmetic In C</title>
<link>//localhost:9999/blog/signed-unsigned-integer-arithmetic-in-c/</link>
<pubDate>Sun, 10 Feb 2019 18:33:07 -0700</pubDate>
<guid>/blog/signed-unsigned-integer-arithmetic-in-c/</guid>
<guid>//localhost:9999/blog/signed-unsigned-integer-arithmetic-in-c/</guid>
<description>Introduction This article is about understanding how integer conversions happen in C language. The C standard defines the integer conversion rules agnostic to any specific machine architecture. This also makes things more complicated for programmers to understand.&#xA;First of all, Why do we need integer conversions at all? The answer is simple, we need to have single type for any given expression. Let&amp;rsquo;s say we have an expression when expr1 and expr2 are of different types, we want the resulting expression from this to have one single type.</description>
</item>
<item>
<title>Pdb Files: The Glue Between The Binary File And Source Code</title>
<link>/blog/pdb-files-the-glue-between-the-binary-file-and-source-code/</link>
<link>//localhost:9999/blog/pdb-files-the-glue-between-the-binary-file-and-source-code/</link>
<pubDate>Thu, 10 Jan 2019 18:33:07 -0700</pubDate>
<guid>/blog/pdb-files-the-glue-between-the-binary-file-and-source-code/</guid>
<guid>//localhost:9999/blog/pdb-files-the-glue-between-the-binary-file-and-source-code/</guid>
<description>Introduction Have you ever wondered how a debugger magically gets you to the correct pdb and correct sources when debugging an application? This article talks exactly that in the context of Windbg.&#xA;As you might be aware of, PDB files(also called as symbol files) is the glue between your application binary and the source code. There are two key Environment variables which configures Windbg about where to look for symbols and sources.</description>
</item>
<item>
<title>PCI Express Basics 101</title>
<link>/blog/pci-express-basics-101/</link>
<link>//localhost:9999/blog/pci-express-basics-101/</link>
<pubDate>Mon, 10 Dec 2018 18:33:07 -0700</pubDate>
<guid>/blog/pci-express-basics-101/</guid>
<guid>//localhost:9999/blog/pci-express-basics-101/</guid>
<description>Introduction PCI Express: It is a standard which comes in multiple generations and multiple lane configurations. PCI-E is in its 5th generation, but mostly the current shipping generation is 3rd generation also called as Gen 3. Mainly each generation improves upon the previous generation regarding the speed per lane supported by the protocol.&#xA;Below is the table for each generation and lane speed For single-lane and 16-lane links, in each direction:</description>
</item>
<item>
<title>Lib Files 101</title>
<link>/blog/lib-files-101/</link>
<link>//localhost:9999/blog/lib-files-101/</link>
<pubDate>Sat, 10 Nov 2018 18:33:07 -0700</pubDate>
<guid>/blog/lib-files-101/</guid>
<guid>//localhost:9999/blog/lib-files-101/</guid>
<description>Introduction During the compilation one of the crucial step after assembling is creating the Object files. The collection of these object files is called a lib file. We can create these .lib files through following visual studio project types&#xA;Static Library Dynamic Linked Library The format of these .lib files is specified in &amp;lsquo;Archive (Library) File Format.&amp;rsquo; section of PE Format. As per the spec, .lib is an archive of individual .</description>
</item>
<item>
<title>How Do Breakpoints Work In Debuggers?</title>
<link>/blog/how-do-breakpoints-work-in-debuggers/</link>
<link>//localhost:9999/blog/how-do-breakpoints-work-in-debuggers/</link>
<pubDate>Wed, 10 Oct 2018 18:33:07 -0700</pubDate>
<guid>/blog/how-do-breakpoints-work-in-debuggers/</guid>
<guid>//localhost:9999/blog/how-do-breakpoints-work-in-debuggers/</guid>
<description>Introduction It&amp;rsquo;s been a while, I have got a chance to blog about low-level stuff. In this article, I am going to explain how breakpoints work in debuggers. I am assuming the reader is already familiar with what a breakpoint is? and how to set it in your debugger of choice. The goal of this post is to explain the interplay between Debugger, Debuggee, Operating System and the CPU.&#xA;Breakpoints Theory To get there, we have to ask ourselves What does it mean by debugging a program/process?</description>
</item>
<item>
<title>A Newbie&#39;s Introduction To Compilation Process And Reverse Engineering</title>
<link>/blog/a-newbies-introduction-to-compilation-process-and-reverse-engineering/</link>
<link>//localhost:9999/blog/a-newbies-introduction-to-compilation-process-and-reverse-engineering/</link>
<pubDate>Fri, 10 Aug 2018 18:33:07 -0700</pubDate>
<guid>/blog/a-newbies-introduction-to-compilation-process-and-reverse-engineering/</guid>
<guid>//localhost:9999/blog/a-newbies-introduction-to-compilation-process-and-reverse-engineering/</guid>
<description>Introduction Compilers are surely the complex programs of all times. Even today, writing a compiler with minimum set of tools is considered to be challenging. This tutorial scratches the surface of different compiler phases involved in translating a given source code to executable and also shows how this information is useful in context of reverse engineering.&#xA;GNU compiler collection provides an excellent set of tools for dissecting the compilation process and to understand the working of bits and bytes in the final executable.</description>
</item>
<item>
<title>Libspng - C Language Case Study</title>
<link>/blog/c-case-studies/f/</link>
<link>//localhost:9999/blog/c-case-studies/f/</link>
<pubDate>Tue, 10 Jul 2018 18:33:07 -0700</pubDate>
<guid>/blog/c-case-studies/f/</guid>
<guid>//localhost:9999/blog/c-case-studies/f/</guid>
<description>Build System It uses meson build system to build the library&#xA;Data Structures It is not using any fancy data structures instead it relies on plain array of objects and uses the traditional realloc function to expand them.&#xA;Miscellaneous All variables are declared as when needed. This deviates from Linux source code. In Linux kernel, declarations are done only in the beginning of a new scope (either at the start of the function or start of a scope)</description>
</item>
</channel>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/lib-files-101/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Lib Files 101 | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/pci-express-basics-101/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PCI Express Basics 101 | Vineel Kovvuri</title>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pdb Files: The Glue Between The Binary File And Source Code | Vineel Kovvuri</title>
Expand Down
13 changes: 7 additions & 6 deletions docs/blog/signed-unsigned-integer-arithmetic-in-c/index.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Signed/unsigned Integer Arithmetic In C | Vineel Kovvuri</title>
<title>Signed/Unsigned Integer Arithmetic In C | Vineel Kovvuri</title>
<link rel="stylesheet" href="/css/style.css" />
<link rel="stylesheet" href="/css/fonts.css" />
<link href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css" rel="stylesheet">
Expand All @@ -27,7 +27,7 @@
</nav>

<div class="article-meta">
<h1><span class="title">Signed/unsigned Integer Arithmetic In C</span></h1>
<h1><span class="title">Signed/Unsigned Integer Arithmetic In C</span></h1>

<h2 class="date">2019/02/10</h2>
</div>
Expand All @@ -53,8 +53,8 @@ <h1 id="introduction">Introduction</h1>
the size of these basic types are determined. Windows x64 follows
LLP64(meaning only &rsquo;long long&rsquo; and pointer size are 64 bit wide), So below
are the sizes of the standard types that we are sticking to in this article.</p>
<p>Type | Size
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;+&mdash;&mdash;&mdash;
<pre><code>Type | Size
--------------------+---------
signed char | 1 bytes
unsigned char | 1 bytes
signed short | 2 bytes
Expand All @@ -64,7 +64,8 @@ <h1 id="introduction">Introduction</h1>
signed long | 4 bytes
unsigned long | 4 bytes
signed long long | 8 bytes
unsigned long long | 8 bytes</p>
unsigned long long | 8 bytes
</code></pre>
<p>Also, The specification leaves other aspects of C language definition
undefined and this leave room for optimizations for compilers. For example,
the result of signed arithmetic leading to overflow/underflow is not defined
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>UART - From AVR to Linux to Logic Analyzer | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/usermode-breakpoints-from-kd/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Setting User Mode Break Points From Kd Aka .process /i Vs .process /r /p | Vineel Kovvuri</title>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>What Does It Take To Write An Emulator In Java? | Vineel Kovvuri</title>
Expand Down
2 changes: 1 addition & 1 deletion docs/categories/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Categories | Vineel Kovvuri</title>
Expand Down
4 changes: 2 additions & 2 deletions docs/categories/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on Vineel Kovvuri</title>
<link>/categories/</link>
<link>//localhost:9999/categories/</link>
<description>Recent content in Categories on Vineel Kovvuri</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
<atom:link href="//localhost:9999/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>
2 changes: 1 addition & 1 deletion docs/courses/c/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=9999&amp;path=livereload" data-no-instant defer></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>C Language Course Structure | Vineel Kovvuri</title>
Expand Down
Loading

0 comments on commit 30c7408

Please sign in to comment.